shell 脚本注意事项

设脚本名为test.sh

第一行应该为#! /bin/bash

1、运行和调试的结果是不一样的

调试 sh -x test.sh  这时在计算两个数的和sum=$[$a+$b]时得到sum=3+4,而不是7

运行 要先给脚本加执行权限 ,执行科的结果7

2、在同一行后还有其他命令则需分号隔离;if 条件判断之后 要有 then 关键字,然后才是命令

3、判断条件使用[]括起来,里面的条件和中括号之间要有空格分割,且算术比较不能用运算符只能用-lt,-gt,-le.-ge,-eq,-ne;

  若要用运算符,则用(())包含判断语句,注意是两个小括号

if语句的格式

if 判断语句一 ; then

command

elif 判断语句二; then

command

else

command

fi

4、shell 脚本中if还经常判断关于档案属性,比如判断是普通文件还是目录,判断文件是否有读写执行权限等。常用的也就几个选项:

-e :判断文件或目录是否存在

-d :判断是不是目录,并是否存在

-f :判断是否是普通文件,并存在

-r :判断文档是否有读权限

-w :判断是否有写权限

-x :判断是否可执行

使用if判断时,具体格式为: if [ -e filename ] ; then

5、echo xxx >> filename 是向文件追加内容到最后

    echo xxx > filename 是清除文件内容,然后写入新内容

6、给变量赋值时等号与变量之间不能有空格

7、在shell 脚本中,除了用if来判断逻辑外,还有一种常用的方式,那就是case了。具体格式为:

case 变量 in

value1)

command

;;

value2)

command

;;

value3)

command

;;

*)

command

;;

esac

上面的结构中,不限制value的个数,*则代表除了上面的value外的其他值。

原文地址:https://www.cnblogs.com/cenglinjinran/p/4903484.html