shell 使用if-elif-else语句

一、使用if-then-else语句:

If-then-else 语句可以在条件不成立时也运行相应的命令

  • if [ 测试条件成立 ]
  • then 执行相应命令
  • else 测试条件不成立,执行相应命令
  • fi 结束

举个栗子,判断当前用户是root角色还是其它角色

#! /bin/bash

# 判断当前用户是不是root用户、还是其它用户权限
if [ $USER = root ] ;then
	echo "root"
	# 输出UID
	echo $UID
else
	echo "user"
	echo $UID
fi
# 运行tesh.sh脚本
[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# ./test.sh
root
0

二、使用if-elif-else语句:

  • if [ 测试条件成立 ]
  • then 执行相应命令
  • elif [ 测试条件成立 ]
  • then 执行相应命令
  • else 测试条件不成立,执行相应命令
  • fi 结束

举个栗子

#! /bin/bash

if [ $USER = root ] ;then
        echo "root"
elif [ $USER = user ] ;then
        echo "user"
else
        echo "other user"
fi
# 执行脚本,当前用户是root角色
[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# ./test.sh
root

三、嵌套if的使用:

if条件测试中可以再嵌套if条件测试

  • if [ 测试条件成立 ]

  • then 执行相应命令

    • if [ 测试条件成立 ]
    • then 执行相应命令
    • fi
  • fi 结束

举个栗子

#! /bin/bash
if [ $UID = 0 ] ; then
        echo "please run"
        # 判断当前的test.sh脚本是不是可执行权限, 如果是输出"run"
        if [ -x /home/lvhuiqi/test.sh ] ; then
                echo "run"
        fi
else
        echo "swich user root"
fi
[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# ./test.sh
please run
run
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐