shell脚本之多分支条件判断语句

祁通
2023-12-01

多分支if语句语法:

if [ 条件判断式1 ]

then

当条件判断式1成立时,执行程序1

elif [ 条件判断式2 ]

then

当条件判断式2成立时,执行程序2

........

else

当所有条件都不成立时,最后执行此程序

fi

例子:判断输入的文件名是什么文件

#!/bin/bash

read -t 30 -p "please input a filename:" file

if [ -z "$file" ]

      then 

           echo " please enter the content  "

          exit 11

elif [ ! -e "$file" ]

      then 

         echo "please enter the file name"

         exit 12

elif   [ -f "$file" ]

           then

           echo "$file is common file"

elif [ -d "$file" ]

           then 

           echo "$file is dir file"

else 

         echo "$file is other file"

fi 

case 判断语句语法:

case $变量名 in

“值1”)        #值需要用双引号引用

如果变量的值等于值1,则执行程序1

  ;;

“值2”)

如果变量的值等于值2,则执行程序2

   ;;

....省略其他分支.....

*)

  如果以上值不是,执行一下程序

   ;;

esac

注意:每个分支已两个分号;;结尾,整个语句以esac结尾;比较的值需要用""引用

例子:大学生毕业的归宿选择

1:去企业找工作

2:自己创业

3:考研

#!/bin/bash

echo "1: 去企业找工作"

echo "2:自己创业"

echo "3:考研"

read -t 30 -p "please enter your post-college choice" $choice

case $choice in

             “1”)

                  echo "Look for a job in a company"

               ;;

             "2")

                  echo "start my own business"

                ;;

             "3")

                  echo "kake part in the postgraduate entrance exams"

                ;;

               *)

                   ehco "other"

                  ;;

esac

 类似资料: