shell脚本

来源:互联网 发布:2017编程一小时 编辑:程序博客网 时间:2024/04/29 00:44

Shell脚本不是复杂的程序,它是由上往下逐行解释执行的。脚本第一行总是以#<shell解释器文件路径>开始。(改变登录shell,首先输入命令chsh,然后在提示符后输入密码和要使用的shell的绝对路径)

  1. 数值测试

[数值1运算符数值2]

方括号与条件之间必须有空格。

关系运算符

说明

关系运算符

说明

-eq

等于

-lt

小于

-ne

不等于

-ge

大于等于

-gt

大于

-le

小于等于

  1. 字符串测试

可以对两个字符串进行比较也可以对单个字符串的值是否为空或为非空进行测试。

[关系运算符字符串]

[字符串1关系运算符字符串2]

关系运算符

说明

关系运算符

说明

=

两个字符串相等

-z

字符串为空

=

两个字符串不相等

-n

字符串不为空

  1. 文件状态测试

[关系运算符字符串]

关系运算符

说明

关系运算符

说明

-d

目录

-w

可写

-f

文件

-x

可执行

-L

连接文件

-u

设置了suid

-r

可读

-s

文件长度大于零

  1. 控制语句

if-then-else分支语句

if条件1

then命令列表

elif条件2

then命令列表

else命令列表

fi


case分支结构

case值或变量in

模式1

命令列表

;;

模式2

命令列表

;;

…….

esac



for循环结构

for变量名in值列表

do

命令1

命令2

..

done

  1. 特殊变量

变量名

说明

$#

传递给脚本的参数个数

$*

传递给脚本的所有参数值

$@

$*相同

$$

脚本执行所对应的进程号

$!

后台运行的最后一个进程的进程号

$-

显示shell使用的当前选项

$?

显示命令的退出状态,0正确,1错误