linux shell编程
文章目录
1、shell结构
* #!指定执行脚本的shell
* #注释行
* 命令和控制结构
2、创建shell程序的步骤
* 创建一个包含命令和控制结构的文件
* 修改这个文件的权限使它可以执行:chmod u+x
* 执行 ./shell (sh shell)
3、shell变量
* 变量是shell传递数据的一种方法,用来代表每个取值的符号名
* 变量包括:临时变量和永久变量
* 自定义变量由字母或下划线开头,由字母、数字或下划线组成,区分大小写
* 使用变量时,需要在变量名前加上前缀 $
* set:查看所有的变量;unset:删除变量
4、位置变量和特殊变量
* 位置参数:出现在命令行上的位置确定的参数
* $0:表示这个脚本的文件名
* $n:表示这个脚本的第 n 个参数值,n=1-9
* $*:该脚本的所有参数
* $#:该脚本的参数个数
* $$:该脚本的PID
* $!:执行删一个后台命令的PID
* $?:执行上一个命令的返回值
5、shell命令
* read命令:从键盘中读入数据,赋给变量
* expr命令:对整数型变量进行算术运算
6、变量测试
* test命令:用于测试变量是否相等、是否为空、文件类型等
* 格式:test 测试条件
* 范围:整数、字符串、文件
* 字符串测试:
* 整数测试:
* 文件测试:
* 简化:用[]进行简化 test 语句 等价于 [ 语句 ]
7、流控制语句
* 流控制语句:用于控制shell程序的流程
* exit语句:退出程序执行,返回一个返回值,0表示正常退出,非0表示非正常退出
8、if语句
* 语法:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
if 条件1 ; then 命令1 elif 条件2 ; then 命令2 else 命令3 fi |
* -a:逻辑与,仅当两个条件都成立时,结果为真
* -o:逻辑或,两个条件只要一个为真,结果为真
9、for语句
* 语法:
1 2 3 4 5 6 7 |
for 变量 in 名字表 do 命令列表 done |
10、case语句
* 语法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
case 变量 in 字符串1) 命令列表1 ;; 字符串n) 命令列表n ;; \*) 命令列表(default) ;; esac ;; |
11、while语句:
* 语法:
1 2 3 4 5 6 7 |
while 条件 do 命令 done |
12、until语句:
* 语法:
1 2 3 4 5 6 7 |
until 条件 do 命令 done |
13、跳出循环
* break:跳出真个循环
* continue:跳出本次循环,进行下次循环
文章作者 wenzhixin
上次更新 2012-05-29