linux系统-shell编程-shell命令与语句
一 基本命令
1 read:从键盘读取数据赋给变量,read NAME
2 expr:对整数型变量进行算术运算,expr 3 + 5,expr 3 - 5,expr 30 / 5,expr 3 \*(转义字符=*) 5 ,expr`expr 5 + 7`/$NAME
二 基本语句
1 变量测试语句:
test = [] 等价于[]
test str1=str2 测试str1和str2是否相等
test str1!=str2 测试str1和str2是否不相等
test str1 测试str1和str2是否不为空
test -n str1 测试str1和str2是否不为空
test -z str1 测试字符串是否为空
2 整数测试
test num1 -eq num2 测试num1和num2是否相等
test num1 -ge num2 测试num1是否>=num2
test num1 -gt num2 测试num1是否>num2
test num1 -le num2 测试num1是否<=num2
test num1 -lt num2 测试num1是否<num2
test num1 -eq num2 测试num1和num2是否不相等
3 文件测试
test -d file 文件是否为目录
test -f file 文件是否为常规文件
test -x file 文件是否课执行
test -r file 文件是否可读
test -w file 文件是否为ke写
test -a file 文件是否存在
test -s file 文件是否为0
4 条件控制语句
if test -d $1 ([ -d $1 ])
then
elif
then
fi
5 流程控制语句
exit 0退出程序
6 多个条件的联合
1 -a:逻辑与
2 -o:逻辑或
三 循环语句
1 for...done
for 变量 in 名字表
do
命令列表
done
2 select 变量 in 关键字
do
commands 1
......
commands n
done
3 case ...esac
case 变量 in
字符串1) 命令列表1
..
字符串n) 命令列表n
..
esac
4 while
while 条件
do
命令
done
5 until
until 条件(返回值为假的时候才继续执行)
do
命令
done
6 循环控制
1 break:跳出循环
2 continue:跳过本次循环,进行下次循环
7 shift指令
参数左移,没左移一次$#的值减一,移除的参数不可用
8 函数
定义:函数名()
{
commands
}
调用:不带参数 直接函数名调用 或者带参数 函数名 参数1 参数2
参数在函数中用$1,$2..来表示
四 shell脚本调试
sh -x script 执行该脚本并显示所有变量的值
sh -n script 只检查语法的模式,返回所有的语法错误
五 awk
awk -F 域分隔符 ‘命令’
检测系统UID=0的用户
awk -F:`$3==0 {print $1}` /etc/passwd
检测系统中密码位空的用户
awk -F:`length($2)==0 {print $1}` /etc/shadow
六 my_qq 872785786 及linux系统基础相应的网盘资料链接:http://pan.baidu.com/s/1ydewA 密码:kaek
欢迎一起交流学习-安卓嵌入式开发,若想免费获取更多资料,请联系我即可-共享精神,提供1000G+的技术资料
ios,安卓,嵌入式,及各种编程语言