【发布时间】:2013-05-13 20:12:39
【问题描述】:
如果我有一个字符串var="root/Desktop",如何确定var var 是否包含'/' 字符?
【问题讨论】:
如果我有一个字符串var="root/Desktop",如何确定var var 是否包含'/' 字符?
【问题讨论】:
echo "${var1}" | grep '/' 应该可以工作。
【讨论】:
"${var1}",你永远不知道。
bash 可以用=~ 匹配正则表达式,试试:
[[ $var =~ "/" ]] && echo "contains a slash"
【讨论】:
以下方法可行
[[ "$var" = */* ]]
【讨论】:
可在任何 Bourne-heritage shell 中工作且不需要昂贵的分叉或管道的便携式解决方案:
case $var in
(*/*) printf 'Has a slash.\n';;
(*) printf 'No slash.\n';;
esac
【讨论】: