加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bash if语句中带有变量的空格

发布时间:2020-12-15 21:09:40 所属栏目:安全 来源:网络整理
导读:有一天,我正在努力进行if声明.转动我们的变量在开头有一个空格.所以我试着用下面的代码来征服它,但我没有运气. if [ "$COMMAND_WAIT" == "*REBOOT" ]; thensudo /etc/kca/scripts/reboot.shecho "REBOOTING"fi 我是否应该能够对此声明进行通配符,还是有另外
有一天,我正在努力进行if声明.转动我们的变量在开头有一个空格.所以我试着用下面的代码来征服它,但我没有运气.

if [ "$COMMAND_WAIT" == "*REBOOT" ]; then
sudo /etc/kca/scripts/reboot.sh
echo "REBOOTING"
fi

我是否应该能够对此声明进行通配符,还是有另外一种解决方法?

解决方法

以下应该有效.它使用[[而不是[,而不是模式周围的引号.

if [[ "$COMMAND_WAIT" == *REBOOT ]]; then
    sudo /etc/kca/scripts/reboot.sh
    echo "REBOOTING"
fi

[[expression]]是一个复合表达式,有关扩展和引用的特殊规则.相反,[是一个内置命令,即* REBOOT将扩展为路径名.在大多数情况下,它更容易使用[[而不是[.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读