如何在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}”
,你永远不会知道。