shell编程总结
Shell编程
Shell常用通配符:
* 匹配0个或多个字符
? 匹配任意一个字符
[list] 匹配list中的任意单一字符
[!list] 匹配出list中的任意单一字符以外的字符
[c1-c2] 匹配c1-c2中的任意单一字符
[string1,string2,…] 匹配string1,string2(或更多)其一字符串
[c1..c2] 匹配才-出中的全部字符
Shell的位置变量
¥0 表示这个程序的文件名
$1$2 … $9 表示程序从第一个到第九个命令的参数值
$# 这个程序的参数个数(不包含命令名)
$* 把这个陈旭的所有参数:“$1 $2 … $9”,把所有参数保存在一个数组中
$! 执行上一个背景指令的PID
$? 执行上一个命令的返回值
$$ 这个程序的进程ID号
if 语句
1、 一个条件判断
if[条件判断式]
then 当条件判断成时,可进行命令执行
else 当条件判断不成立时,可进行命令执行
fi 关闭if标签
2、 多个条件判断(if…elif… else) 可分多种不同情况执行
if[条件判断式1]; then
当条件判断式1成立时,可执行命令
elif[条件判断式2] then
当条件判断式2成立时,可执行命令
fi
case语句
case字符串 in
模式字符串1)命令
…
命令;;
模式字符串2)命令
…
命令;;
模式字符串n)命令
…
命令;;
esac 关闭case标签
注:case语法中,是以case为开头的,而期结束为esac(反写)。此外,对每个变量内容的程序段最后都需要加两个分号(;;)来表示该程序段的结束。至于这个变量的内容最后使用*,是因为如果用户输入第一个获第二个变量内容时,可告知相关信息。
while语句
while[condition] < === 中括号内的状态就是判断式
do < === 程序的开始
程序段落
done < === 循环结束
当中括号中的条件不成立时,循环停止
until[condition] < === 中括号内的状态式判断式
do < === 循环的开始
程序段
done < === 循环结束
until循环语句while循环相反,当中括号里的条件成立时,结束循环
for语句
for((初始值;限制值; 执行步长))
do < === 循环开始
程序段
done < === 循环结束
这种语法时刻于数值方式运算当中
九九乘法表:
For写法
另一种写法:
While写法