我想使用“grep”命令查找字符串是否包含正斜杠。一开始很容易,我写了下面的脚本。
foo=someone/books
if [ `echo "$foo" | grep '/'` ]
then
echo "has forward slash"
fi
但是,问题出在拐角处,如果我将变量“foo”设置为以下字符串,
foo="someone/books in stack"
上面的脚本会失败,因为变量 foo 中有“空格”,当命令展开时,if 语句中的条件如下。
grep '/' someone/books in stack
由于“空格”,上述“grep”命令的参数太多是非法的。仅供参考,我尝试使用 case 语句解决这个问题:
case $foo in
*/*)
echo "has forward slash"
;;
*)
;;
esac
但是,我不想使用 case 语句,因为它很冗长。那么如何使用 grep 命令或其他命令来解决这个问题呢?