Shell脚本test和[]和[[ ]]和(())语句应用 素颜马尾好姑娘i 2024-04-23 01:59 19阅读 0赞 **记录**:437 **场景**:Shell脚本test、\[\]、\[\[\]\]、(())语句应用。 **版本**:CentOS Linux release 7.9.2009。 **1.****test和\[\]和\[\[\]\]和****(())****语句** test,test命令用于检测某个条件是否成立。可以进行数值、字符和文件等方面的测试。 \[\],test命令简写为\[\]。支持关系运算符等。 \[\[ \]\],支持逻辑运算符。 格式:test expression 格式:\[ expression \] 格式:\[\[ expression01 || expression02 \]\] 格式:(( expression01 && expression02 )) 注意:\[\]和expression之间有空格,这两个空格是必须的,否则执行时会导致语法错误。 **2.使用test命令** **2.1脚本** 脚本名称:b2023052901.sh 脚本内容: #!/bin/bash echo "请分别输入GDP,人口数,以空格分割:" read gdp population #使用test表达式 if test ${gdp} -gt 30000 && test ${population} -lt 2000 ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是一类城市." elif test ${gdp} -gt 20000 && test ${population} -lt 1500 ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是二类城市." elif test ${gdp} -gt 10000 && test ${population} -lt 1000 ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是三类城市." elif test ${gdp} -gt 5000 && test ${population} -lt 500 ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是四类城市." else echo "城市GDP: ${gdp} 亿, 人口: ${population} 万." fi **2.2执行与输出** 执行命令:bash b2023052901.sh 执行结果: [root@hadoop211 tutorial]# bash b2023052901.sh 请分别输入GDP,人口数,以空格分割: 30001 1999 城市GDP: 30001 亿, 人口: 1999 万,这是一类城市. **3.使用\[\]** **3.1脚本** 脚本名称:b2023052902.sh 脚本内容: #!/bin/bash echo "请分别输入GDP,人口数,以空格分割:" read gdp population #使用[]表达式 if [ ${gdp} -gt 30000 ] && [ ${population} -lt 2000 ] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是一类城市." elif [ ${gdp} -gt 20000 ] && [ ${population} -lt 1500 ] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是二类城市." elif [ ${gdp} -gt 10000 ] && [ ${population} -lt 1000 ] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是三类城市." elif [ ${gdp} -gt 5000 ] && [ ${population} -lt 500 ] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是四类城市." else echo "城市GDP: ${gdp} 亿, 人口: ${population} 万." fi **3.2执行与输出** 执行命令:bash b2023052902.sh 执行结果: [root@hadoop211 tutorial]# bash b2023052902.sh 请分别输入GDP,人口数,以空格分割: 20001 1499 城市GDP: 20001 亿, 人口: 1499 万,这是二类城市. **4.使用\[\[\]\]** **4.1脚本** 脚本名称:b2023052903.sh 脚本内容: #!/bin/bash echo "请分别输入GDP,人口数,以空格分割:" read gdp population #使用[[]]表达式 if [[ ${gdp} -gt 30000 && ${population} -lt 2000 ]] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是一类城市." elif [[ ${gdp} -gt 20000 && ${population} -lt 1500 ]] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是二类城市." elif [[ ${gdp} -gt 10000 && ${population} -lt 1000 ]] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是三类城市." elif [[ ${gdp} -gt 5000 && ${population} -lt 500 ]] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是四类城市." else echo "城市GDP: ${gdp} 亿, 人口: ${population} 万." fi **4.2执行与输出** 执行命令:bash b2023052903.sh 执行结果: [root@hadoop211 tutorial]# bash b2023052903.sh 请分别输入GDP,人口数,以空格分割: 10001 999 城市GDP: 10001 亿, 人口: 999 万,这是三类城市. **5.使用(())** **5.1脚本** 脚本名称:b2023052904.sh 脚本内容: #!/bin/bash echo "请分别输入GDP,人口数,以空格分割:" read gdp population #使用(())表达式 if (( ${gdp} > 30000 && ${population} < 2000)) ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是一类城市." elif (( ${gdp} > 20000 && ${population} < 1500)) ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是二类城市." elif (( ${gdp} > 10000 && ${population} < 1000)) ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是三类城市." elif (( ${gdp} > 5000 && ${population} < 500)) ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是四类城市." else echo "城市GDP: ${gdp} 亿, 人口: ${population} 万." fi **5.2执行与输出** 执行命令:bash b2023052904.sh 执行结果: [root@hadoop211 tutorial]# bash b2023052904.sh 请分别输入GDP,人口数,以空格分割: 5001 499 城市GDP: 5001 亿, 人口: 499 万,这是四类城市. **6.****test和\[\]和\[\[\]\]和****(())****语句联合使用** **6.1脚本** 脚本名称:b2023052905.sh 脚本内容: #!/bin/bash echo "请分别输入GDP,人口数,以空格分割:" read gdp population #test和[]和[[]]和(())语句联合使用 if test ${gdp} -gt 30000 && test ${population} -lt 2000 ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是一类城市." elif [ ${gdp} -gt 20000 ] && [ ${population} -lt 1500 ] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是二类城市." elif [[ ${gdp} -gt 10000 && ${population} -lt 1000 ]] ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是三类城市." elif (( ${gdp} > 5000 && ${population} < 500)) ;then echo "城市GDP: ${gdp} 亿, 人口: ${population} 万,这是四类城市." else echo "城市GDP: ${gdp} 亿, 人口: ${population} 万." fi **6.2执行与输出** 执行命令:bash b2023052905.sh 执行结果: [root@hadoop211 tutorial]# bash b2023052905.sh 请分别输入GDP,人口数,以空格分割: 30001 1999 城市GDP: 30001 亿, 人口: 1999 万,这是一类城市. [root@hadoop211 tutorial]# bash b2023052905.sh 请分别输入GDP,人口数,以空格分割: 20001 1499 城市GDP: 20001 亿, 人口: 1499 万,这是二类城市. [root@hadoop211 tutorial]# bash b2023052905.sh 请分别输入GDP,人口数,以空格分割: 10001 999 城市GDP: 10001 亿, 人口: 999 万,这是三类城市. [root@hadoop211 tutorial]# bash b2023052905.sh 请分别输入GDP,人口数,以空格分割: 5001 499 城市GDP: 5001 亿, 人口: 499 万,这是四类城市. [root@hadoop211 tutorial]# bash b2023052905.sh 请分别输入GDP,人口数,以空格分割: 30001 2001 城市GDP: 30001 亿, 人口: 2001 万. 以上,感谢。 2023年5月29日
还没有评论,来说两句吧...