shell脚本中字符串变量的判断
❶ shell 如何判断一个变量是数字还是字符串
1、可以借助于grep命令,结合正则表达式,整数是有[0-9]这10个数字组成,如果字串中有不是这10个数字的字符即表示不是整数,用正则表达式表示为[^0-9]。
2、数字的概念很广,比如正数、负数、分数、百分数、指数等等,这个可以借助于sed命令,过滤掉类似的符号比如正数+、负数-、百分数%。
3、结合上面两点,编写代码如下:
while((1));
do
read-p"inputvalue:"var;
if[[$var==q||$var==Q]];then
exit;
fi
echo"$var"|sed's/.|-|+|%|^//g'|grep[^0-9]>/dev/null&&echo"$varisnotnumber"||echo"$varisnumber"
done;
4、执行效果如下:
❷ 怎么用shell脚本判断一个字符串中包含某个单词
❸ shell脚本中,怎样比较第一个参数是否与某字符串匹配
if test “$1” = "delete"
then
......
fi
第一个参数用 $1 来取得。
❹ shell 判断变量中是否包含某个字符串
比如变量是str
str="this is a string"
要想在判断str中是否含有"this"这个字符串,下面的语句是可行的
[[ $str =~ "this" ]] && echo "\$str contains this"
[[ $str =~ "that" ]] || echo "\$str does NOT contain this"
其实这里就是用到了"[[" 判断命令和 "=~"正则式匹配符号
❺ shell中怎么取字符串的变量的其中的一个字符
比如变量是str str="this is a string" 要想在判断str中是否含有"this"这个字符串,下面的语句是
❻ shell脚本判断字符串等于3或者99的输出那一行
可以使用 if-elif-else 语法来写多条件语句。
1、首先要理解if-else的基本用法,if条件+then操作+else操作+fi闭合,书写方法如下:
❼ shell的if命令如何判断一个文件中所含指定字符串
1、字符串判断
1)str1 = str2当两个串有相同内容、长度时为真 ;
2)str1 != str2 当串str1和str2不等时为真 ;
3)-n str1 当串的长度大于0时为真(串非空) ;
4)-z str1 当串的长度为0时为真(空串) ;
5)str1 当串str1为非空时为真。
2、数字的判断
1)int1 -eq int2两数相等为真;
2)int1 -ne int2两数不等为真;
3)int1 -gt int2int1大于int2为真;
4)int1 -ge int2int1大于等于int2为真;
5)int1 -lt int2int1小于int2为真;
6)int1 -le int2int1小于等于int2为真。
3、文件的判断
1)-r file用户可读为真;
2)-w file用户可写为真;
3)-x file用户可执行为真;
4)-f file文件为正规文件为真;
5)-d file文件为目录为真;
6)-c file文件为字符特殊文件为真;
7)-b file文件为块特殊文件为真;
8)-s file文件大小非0时为真;
9)-t file当文件描述符(默认为1)指定的设备为终端时为真。
❽ 怎么用shell脚本语言,判断输入的字符串是否包含字母或者数字
read-p"请输入一个字符串"str
ifecho"$str"|grep"[a-zA-Z]">/dev/null&&echo"$str"|grep"[0-9]">/dev/null
then
echo"yes"
else
echo"no"
fi
❾ shell如何判断两个含特殊字符的字符串变量是否相等
把其他程序的返回重定向到临时文件。
用命令cmp比较临时文件。(cmp -s "$file1" "$file2")
测试cmp的退出码。
❿ shell脚本判断字符串是否包含某个字符
方法一:利用grep查找
strA="long string"strB="string"result=$(echo $strA | grep "${strB}")if [[ "$result" != "" ]]then echo "包含"else echo "不包含"fi
方法二:利用字符串运算符 《linux就该这么学》 一起学习linux
strA="helloworld"strB="low"if [[ $strA =~ $strB ]]then echo "包含"else echo "不包含"fi
方法三:利用通配符
A="helloworld"B="low"if [[ $A == *$B* ]]then echo "包含"else echo "不包含"fi