我是shell脚本新手。我有一个包含特定文件路径的变量。我想检查这个变量是否有任何空格。
我试过
if [[ ${VAR} = "${VAR% *}" ]] ; then
echo "contains spaces"
else
echo "doesnot contain spaces"
fi
但它不起作用。任何帮助都会非常明显。
答案 0 :(得分:3)
或
case ${VAR} in
*\ * ) echo "VAR=$VAR has at least one space char" ;;
* ) echo "VAR=$VAR has no space chars" ;;
esac
IHTH
答案 1 :(得分:1)
良好的解决方案但你需要扭转这些条件。 ${VAR% *}
剥离到最后一个空格,如果它等于${VAR}
则没有任何空格。
如果它是空的,您应该转义${VAR}
中的第一个""
。
if [[ "${VAR}" == "${VAR% *}" ]] ; then
echo "doesn't contains spaces"
else
echo "contains spaces"
fi
答案 2 :(得分:0)
另一种解决方案:
echo $VAR | grep ".*\s.*" && echo "Space exists" || echo "No space exists"