2

如果我有一个 string var="root/Desktop",我如何确定varvar 是否包含一个'/'字符?

4

4 回答 4

8

Bash 可以用 匹配正则表达式=~,试试:

[[ $var =~ "/" ]] && echo "contains a slash"
于 2013-05-18T22:49:42.180 回答
4

以下将起作用

[[ "$var" = */* ]]
于 2013-05-18T23:11:53.433 回答
3

可在任何Bourne-heritage shell 中工作且无需昂贵的叉子或管道的便携式解决方案:

 case $var in
   (*/*)   printf 'Has a slash.\n';;
   (*)     printf 'No slash.\n';;
 esac
于 2013-05-19T14:22:01.990 回答
2

echo "${var1}" | grep '/'应该管用。

于 2013-05-18T22:48:44.357 回答