tnfh.net
当前位置:首页 >> shEll中的CAsE >>

shEll中的CAsE

当然可以。如下例: #!/bin/bash i=10 n=10 case $i in $n) echo "ok" ;; *) echo "No such case!" ;; esac 保存为 test.sh $ chmod a+x test.sh $ ./test.sh ok

看上去你那个 != 前后没有加空格呀,没有空格的话就当做一个字串了,字串则为真值,于是就始终为真了,你加上空格试试。

read CHOICE case $CHOICE in 1) mountusb;; 2) umountusb;; 3) display;; 4) cpdisktousb;; 5) cpusbtodisk;; 0) quit;; *) echo "Invalid Choice! Correct Choice is (0--5)" sleep 4 clear;;

case 的条件判断是基于字符串的,对于你这个问题可以这么来 read i case $i in 20|[1][0-9]|[1-9]) echo $i ;; *) echo 'err' ;; esac 但对于一般的数值范围条件,最好用if elif else语句

你执行一个testcase的命令假如是 abc 那么使用重定向把这些命令的输出保存起来。 比如 abc --options >> abc.log 2>&1 2>&1 表示stderr stdout 都重定向到 abc.log这个日志文件。

#!/bin/bash while echo "Please enter number :" read var do echo "you number is $var" if case $var in Q) exit;; q) exit;; esac then echo "$var | 100 |60" fi done 这个是按我的理解来写的,不知道你说的那个“并显示对应的成绩标准(及格...

因为你在case语句里echo出来的内容立即被clear命令给清除掉了,然后又紧接着打印出了提示输入的语句。在while语句done前面加个sleep 3就可以看到输出了。

while :do printf "please input a number:" read n if echo "$n"|grep "^[0-9][0-9]*$" >/dev/null then break fidone

shell 的风格,用倒序的字母单词和 正序的单词配对。 比如 if 语句, 结束时用 fi 来配对 esac是和case配对的,是多路分支的语句,类似于C中的 switch/case 语句,大致形式如 case $VAR in xxx) 执行动作 ;; yyy) 执行动作 ;; esac

case ${i} in (1) function 参数1 参数2 ... ;; (2) ... ;; (...) ... ;;esacdash manual 中的话: The syntax of the case command is case word in [(]pattern) list ;; ... esac

网站首页 | 网站地图
All rights reserved Powered by www.tnfh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com