bash shell脚本编程学习概括

/*********************************************************************
 * Author  : Samson
 * Date    : 08/01/2013

 * *******************************************************************/

bash shell脚本编程学习总结:

变量:
(1)环境变量:能够进行修改;
(2)内部变量:系统提供,不能修改;
$#:得到参数个数
$?:shell程序内部执行shell的返回值
$0:shell程序的名称
$1~$9:参数1~9的值

$*:全部参数组成的字符串

$$ //这个程式的PID
$! //执行上一个背景指令的PID
$@ //跟$*类似,但是可以当作数组用 。


(3)用户变量:写shell时用户编写定义的;
注意:用户变量在shell定义时:在赋值号前后不能有空格;如:var1="test1"

shell脚本的的几种执行:
(1)shell解释器 shellscriptname.sh,此种情况下shellscriptname.sh不用加X执行权限;
(2)直接在shell script的目录下执行:./shellscriptname.sh,此种执行方法的前提是此shellscriptname.sh文件具有x执行权限;

表达式比较:
命令语法如下:
  test expression
or
  [ expression ]

test命令支持下面4种类型的比较:
(1)字符串的比较的expression中的操作符:
= 是否相等
!= 是否不相等
-n 字符串长度是否大于0
-Z 字串是否等于0或空

(2)数字比较expression中的操作符:
-eq 是否相等
-ge 是否>=
-le 是否<=
-ne 是否不等于
-gt 是否大于
-lt 是否小于

(3)文件操作符expression中的操作符:
-d 文件是否为目录
-f 文件是否为普通文件
-r 文件是否设置了读权限
-s 文件的长度是否大于0
-w 文件是否具有写权限
-x 文件是否具有执行权限
-e 文件是否存在

(4)逻辑操作符expression中的操作符:
! 对一个逻辑表达式求反
-a 对两个逻辑表达式执行与操作 AND
-o 对两个逻辑表达式执行或操作 OR

判断语句:
if [ expression ]; then
    statements
elif [ expression ]; then
    statements
else
    statements
fi

分支语句:
case $varname in
    str1|str2)
        statements;;
    str3|str4)
        statements;;
    *)
        statements;;
esac    

循环语句:
(1)
for curvar in list
do
    statements
done
(2)
while expression
do
    statements
done

until expression
do
    statements
done

break语句:可终止一个重复执行的循环
exit语句:退出一个shell程序

函数:
func()
{
    statements
}

调用:func param1,param2,param3
在一个shell脚本程序中载入另一个shell程序:. card_error.sh

你可能感兴趣的:(shell,program(shell,编程))