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