shell脚本常见的结构化函数

时间:2022-06-23 16:33:32

if-then

if command
then
command
fi

if-then-else

if command
then
command
else
command
fi

嵌套if

if command
then
command
elif command
then
command
elif command
then
command
else
command
fi

复合条件测试

[ condition1 ] && [ condition2 ]				两者同时满足
[ condition1 ] || [ condition2 ] 两者满足其一

使用双括号 ((wxpression))

val++						后增
val-- 后减
++val 先增
--val 先减
! 逻辑求反
~ 位求反
** 幂运算
<< 位左移
>> 位右移
& 位布尔和
| 位布尔或
&& 逻辑和
|| 逻辑或

双方括号

[[ $valname == 匹配模式 ]]

匹配模式支持正则表达式

case模式

case variable in
pattern1 | pattern2 ) command1;;
pattern3 ) command2;;
*) default commands;;
esac

for

for var in list
do
commands
done

c风格的for

for ((variable assignment ; condition ; iteration process))
do
commands
done

while

while test command
do
other commands
done