rhel下shell脚本的语法总结
if
条件判断控制语句:
if 条件
then 动作
elif 条件
then 动作
else
动作
fi
注释:
•if,当条件为真时,执行then后的动作。elif在if判断为假时才做判断,else在if与elif都为假时执行。
•Example:
# ! /bin/sh
read –p “Enter a password “ pwd_entered
if [ “$pwd_entered” = “password” ]
then
echo Password is correct
else
echo Password is incorrect
fi
case
条件判断控制语句:
case 表达式 in
匹配值 1)
动作;;
匹配值 2)
动作;;
* )
动作;;
esac
•case,根据表达式的值(表达式中通常会包含变量),寻找匹配项执行动作。可以用于取代一组if语句。
•Example:
# ! /bin/sh
read –p “Enter a password “ pwd_entered
case $pwd_entered in
password1 )
echo You entered password1;;
password2 )
echo You entered password2;;
esac
select
循环控制语句
select 变量 in 数组
do
动作
done
注意:
•select,无限循环,直到遇到退出循环的命令(exit、break)或键盘送来的ctrl+c才退出循环。每次循环都要求用户从数组中为变量选取一个值。
for
循环控制语句
for 变量 in 数组
do
动作
done
注释:
•for,变量自动去数组中取值,每取一次值执行一次循环。
•Example:
# ! /bin/sh
read –p “Enter several words “ words_entered
clear
echo The words you entered are:
for word in $word_entered
do
echo $word
done
while
循环控制语句
while 条件
do
动作
done
注释:
•while,当条件为真时,执行其下的循环。
•Example:
# ! /bin/sh
read –p “Enter a password “ pwd_entered
clear
while [ “$pwd_entered “ != “opensesame” ]
do
echo Sorry , try again
read –p “ Enter a password “ pwd_entered
done
echo Correct password entered
until
循环控制语句
until 条件
do
动作
done
注意:
until,当条件为真时,结束其后的循环。否则,一直循环下去。