shell数组_判断_切割字符串_内置变量
shell数组
常用的与shell数组相关的一些用法
数组定义:圆括号,空格分隔。例如 array=(“asda” “asdas”)
数组遍历:
不带下标:即i就是数组的值
for i in ${array[@]}
do
echo $i;
done
带下标:i是数组下标,array[i]是数组元素
for i in ${!array[@]}
do
echo $i,${array[i]};
done
数组中的所有元素: echo ${array[@]}
数组长度 : echo ${#array[@]}
shell判断if和切割字符串
Shell 切割字符串 ${string:start:length}
start:起始下标,从0开始;length:截取长度
Shell 多条件判断 [[ ]] || []
'[ ',' ]'两侧都要有空格
Shell 判断字符串 用等于号(=),判断数字用 -eq
# if [ "${MODULE}" = "<MODULE>" ]
shell内置变量
Linux变量:
$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程PID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误。也可以表示函数的返回值
如:
$? 是上一个程序执行是否成功的标志,如果执行成功则$? 为0,否则 不为0
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
fi