变量中带空格的Bash if语句
前几天,我正在为一个if语句而挣扎。我们的my变量在开头有一个空格。所以我尝试用下面的代码来克服这个问题,但是我没有运气变量中带空格的Bash if语句,bash,if-statement,Bash,If Statement,前几天,我正在为一个if语句而挣扎。我们的my变量在开头有一个空格。所以我尝试用下面的代码来克服这个问题,但是我没有运气 if [ "$COMMAND_WAIT" == "*REBOOT" ]; then sudo /etc/kca/scripts/reboot.sh echo "REBOOTING" fi 我应该能够通配符这个语句,还是有其他方法可以解决这个问题?下面应该可以。它使用[[而不是[,并且模式周围没有引号 [[expression]]是一个复合表达式,具有关于展开和引用的特殊规则
if [ "$COMMAND_WAIT" == "*REBOOT" ]; then
sudo /etc/kca/scripts/reboot.sh
echo "REBOOTING"
fi
我应该能够通配符这个语句,还是有其他方法可以解决这个问题?下面应该可以。它使用
[[
而不是[
,并且模式周围没有引号
[[expression]]
是一个复合表达式,具有关于展开和引用的特殊规则。相反,[
是一个内置命令,即,*重新启动
将展开为路径名。在大多数情况下,使用[
而不是[
太棒了,非常好用[[~]]有什么区别
if [[ "$COMMAND_WAIT" == *REBOOT ]]; then
sudo /etc/kca/scripts/reboot.sh
echo "REBOOTING"
fi