Shell脚本学习

1.Shell命令行的书写规则:

   多个命令可以在一个命令行中执行,但需用 ; 分割

   长命令语句可以用 \ 在命令行中扩充

2.执行shell程序

   2.1 ./ test.sh

   2.2 Bash test.sh

   2.3 为了在任何目录都可以编译和执行shell所编写的程序,把/bin这个目录添加到整个环境变量中

         export PATH=/bin:$PATH

         test.sh

3.在Shell程序中使用的参数

   3.1 位置参数

   由系统提供的参数称为位置参数,位置参数的值可以用$N得到,Linux会把输入的命令字符串分段并给每段进行标号,标号从0开始。第0号表示程序名字,从1开始表示传递给程序的参数,以此类推。

   3.2 内部参数

   $0:命令含命令所在的路径

   $#:传递给程序的总的参数数目

   $?:shell程序在shell中退出的情况,正常退出则返回0,反之则返回非0值

   $*:传递给程序的所有参数组成的字符串

4.变量

   4.1 变量的赋值

   变量名=值  (注意:=前后没有空格

   4.2 访问变量值

   如果要访问变量值,可以在变量前面加一个美元符合$

   4.3 键盘读入变量值

   read 变量

5.表达式的比较

   5.1 字符串比较

   = (注意:这里的 = 前后需有空格)比较两个字符串是否相同,相同则为真

   != 比较两个字符串是否不相同,不相同则为真

   -n 比较字符串长度是否大于0

   -z 比较字符串长度是否等于0

 

   5.2 数字比较

   -eq 相等 (equal)

   -ge 大于等于 (greater equal)

   -le 小于等于(less equal)

   -ne 不等于

   -gt 大于

   -lt 小于

 

   5.3 逻辑操作

   ! 反:与一个逻辑值相反的逻辑值

   -a 与(and):两个逻辑值均为是,则返回值为是

   -o 或(or):两个逻辑值有一者为是,则返回值为是

 

  5.4 文件操作

   -d 对象存在且为目录,则返回值为是

   -f 对象存在且为文件,则返回值为是

   -r对象存在且为可读,则返回值为是

   -w对象存在且为可写,则返回值为是

   -x对象存在且为可执行,则返回值为是

 

6.循环结构语句

   6.1 for循环

for 变量 in 列表
    do 
        操作
    done

   6.2 while循环

while 表达式
    do 
        操作
    done

   6.3 until循环

until 表达式
    do
        操作
    done

 

7.条件语句结构

   7.1 if语句

if 表达式1; then
    操作;
elif 表达式2; then
    操作;
elif 表达式3; then
    操作;
else
    操作;
fi;

   7.2 case语句

case 表达式 in
值1|值2)
操作;;
case 表达式 in
值3|值4)
操作;;
case 表达式 in
值5|值6)
操作;;
esac

 

posted @ 2015-06-30 11:23  jp927  阅读(178)  评论(0编辑  收藏  举报