Shell | 判断语句

if判断

基本语法:

(1)单分支

if [ 条件判断式 ];then
	程序
fi

或者

if [ 条件判断式 ]
then
	程序
fi

(2)多分支

if [ 条件判断式 ]
then
	程序
elif [ 条件判断式 ]
then
	程序
else
	程序
fi 

注意事项:

​ ①[ 条件判断式 ],中括号和条件判断式之间必须有空格

​ ②if 后要有空格

例如:输入一个数字,如果是 1,则输出 hello1,如果是 2,则输出 hello2,
如果是其它,什么也不输出。

$ touch if.sh
$ vim if.sh

#!/bin/bash
if [ $1 -eq 1 ]
then
echo "hello1"
elif [ $1 -eq 2 ]
then
echo "hello2"
fi
$ chmod 777 if.sh
$ ./if.sh 1
hello1

case语句

基本语法:

case $变量名 in
"值 1")
	如果变量的值等于值 1,则执行程序 1
;;
"值 2")
	如果变量的值等于值 2,则执行程序 2
;;
	…省略其他分支…
*)
	如果变量的值都不是以上的值,则执行此程序
;;
esac

注意事项:

(1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。

(2)双分号“;;”表示命令序列结束,相当于 java 中的 break

(3)最后的“*)”表示默认模式,相当于 java 中的 default

例如:输入一个数字,如果是 1,则输出 banzhang,如果是 2,则输出 cls,如果是其它,输出
renyao。

$ touch case.sh
$ vim case.sh
!/bin/bash
case $1 in
"1")
	echo "banzhang"
;;
"2")
	echo "cls"
;;
*)
	echo "renyao"
;;
esac
$ chmod 777 case.sh
$ ./case.sh 1
1
posted @ 2023-07-13 10:29  张Zong在修行  阅读(100)  评论(0编辑  收藏  举报