Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在bash中搜索字符串中的字符?_Bash_Bash4 - Fatal编程技术网

如何在bash中搜索字符串中的字符?

如何在bash中搜索字符串中的字符?,bash,bash4,Bash,Bash4,如果我有一个字符串var=“root/Desktop”,如何确定varvar是否包含'/'字符?echo“${var1}”| grep'/'应该可以工作。Bash可以与=的正则表达式匹配,请尝试: [[ $var =~ "/" ]] && echo "contains a slash" 以下方法可行 [[ "$var" = */* ]] 适用于任何Bourne heritage shell的便携式解决方案,无需昂贵的叉子或管道: case $var in (*/*)

如果我有一个字符串
var=“root/Desktop”
,如何确定
var
var是否包含
'/'
字符?

echo“${var1}”| grep'/'
应该可以工作。

Bash可以与
=
的正则表达式匹配,请尝试:

[[ $var =~ "/" ]] && echo "contains a slash"

以下方法可行

[[ "$var" = */* ]]

适用于任何Bourne heritage shell的便携式解决方案,无需昂贵的叉子或管道:

 case $var in
   (*/*)   printf 'Has a slash.\n';;
   (*)     printf 'No slash.\n';;
 esac

+1-你的比使用grep更好。但是我认为使用外部程序有它的优点。不要忘记引用
“${var1}”
,你永远不会知道。