Shell Scripts 中 条件分支 if 的使用

举一个非常简单的小例子来说明 Shell Scripts中if语法的使用。

提示用户输入名字,如果用户没有输入任何信息,则提示用户一定要输入名字,如果用户输入的是hello,程序要给用户回复“hello”,如果既不是空串,也不是hello,则认为用户输入了名字,则提示欢迎XXX。

#!/bin/bash

# 接收用户的输入,并把用户的输入赋值给 name 变量
read -p "Please input your name : " name

if [ "$name" == "" ]; then
  echo "必须要输入一个字符串"
elif [ "$name" == "hello" ]; then
  echo "Hello"
else
  echo "Welcome $name"
fi # 结束if

# 退出标识位,表示正常退出
exit 0 

read 是接收用户的输入,-p 参数是可以给用户以提示,也就是后面跟的字符串 “Please ...” 这时候会等待用户的输入,当用户输入了数据之后,会把数据读到 name 变量中。

if是关键字,后面跟的是一对[],中括号在shell scripts中称之为条件表达式。这里要注意,if_[_condition_]; 注意下划线的地方一定要有空格。另外一定要注意不要忘记了后面的分号。if后面可以跟多个中括号的条件表达式,只在最后一个中括号后加上分号。

如判断年龄在 大于等于18 并且小于等于30的表达式如下:

[ $age -ge 18 ] && [ $age -le 30 ];

分号后面跟一个空格,是then关键字。另起一行,缩进,表示条件成立要执行的语句。

有多个条件,可以使用 elif 注意,这里并不是 else if

当所有条件不满足时,可以使用else ,else 后面不跟 then

最后当分支结构结束,以反的if,也就是 fi结束。

注意,shell scripts中的;具有特殊含义,语句结束不要加;

猜你喜欢

转载自blog.csdn.net/king_kgh/article/details/79948403