rpct.net
当前位置:首页 >> 【Linux】shEll CAsE案例 >>

【Linux】shEll CAsE案例

设定脚本名称checkfile.sh,使用方法checkfile.sh 参数 文件 checkfile.sh的内容 if[ $1=="-b" ] then echo `cat $2 |grep ^b|wc -l` else if [ $1=="-s"] then echo `cat $2 |grep ^s|wc -l` else echo "error !!!" 好了,文件写完,需要注意,...

不是蓝色,那是因为remove,clean不是命令。 你的这个脚本,是不是在windows上编辑的,然后传到linux上的,如果是的话,文件中有一些不可见的字符的,所以会有语法错误。 查看有没有不可见特殊字符可以用一下命令: $cat -A 文件名 文件内容中有...

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

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

如果只做四个简单的运算这应应该可以 shell脚本代码如下: #!/bin/bash read -p "input num1:" a read -p "input num2:" b read -p "input operator:" o case $o in +) let "res=a + b" echo $res;; -) let "res=a - b" echo $res;; /) awk 'BEG...

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

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

当然可以。如下例: #!/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

一定要用case吗? 我一般用正则匹配,比如echo $X | grep -P "\d+",然后再判断$?是否为0,如果是0则为数字。

不知道你怎么实现的,你本身就编写错误了啊

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