第四章shell语句
(据课本和虚拟机实验排版,借鉴请改动)
4.2:shell脚本
脚本包括:脚本声明,脚本注释,脚本内容和命令
例:#!/bin/bash //脚本声明
# for example //脚本注释
pwd //脚本命令
ls -al //脚本命令
在脚本开头 #!/bin/bash 表使用bash解释器
建议脚本以 .sh 结尾区分于其他文件,脚本会从上到下依次执行,直至完毕。
例:bash linuxprobe.sh //执行linuxprobe.sh脚本
参数:脚本可以接接收用户输入的参数,并判断参数来进行相应的动作
$0 // 代表脚本本身 $1 ,$2 .... //代表第一个参数,2则代表第二个,以此类推
$# // 接收参数的总个数 $* //对应参数的值
$? 显示上一次命令执行是否成功的返回值 0为成功 非零值则为失败
例图:
条件测试语句: [ 条件表达式 ] 两边须有空格
-d //是否为目录 -e //是否存在
-f //是否为一般文件 -r //是否可读
-w //是否可写 -x //是否可执行
例:[ -d /etc/fstab ] //是否为目录
echo $? //检查上一条命令是否成功,会输出1,因为不是目录
&& “与”,命令A && 命令B 命令A执行成功才会执行B
前面的命令执行成功后才会执行后面的语句
|| “或” 命令A || 命令B 命令A执行失败才会执行B
前面的命令执行失败后才会执行后面的语句
! 叹号表示“非”,取结果的相反值
例:[ -e /dev/cdrom ] && echo exit
[ $user = root ] && echo root || echo user //[空格$user空格=空格root空格]
整数比较运算符(正常大于小于等于会与系统中的符号有冲突,所以用以下专用操作符)
-eq //是否等于 -ne //是否不等于
-gt // 是否大于 -lt //是否小于
-le //是否等于或小于 -ge // 是否大于或等于
例:[ `free -m|grep Mem:|awk '{print $4}'` -lt 1024 ]&&echo "内存不足" || echo “内存充足” //判断内存
字符运算符
= //比较字符串是否相同 != // 比较字符串是否不同
-z //判断字符串是否为空
4.3:流程控制语句
readonly //将变量定义为只读变量,只读变量不能被改变
read 将用户输入的值赋值给变量 read 【参数】 变量名
-p //参数p可以加入提示语句
if条件语句
单分支、双分支、多分枝结构:
for条件循环语句
while 条件循环语句
(据课本和虚拟机实验排版,借鉴请改动)
shell脚本复习
第四章节收尾预习,预习第五章节