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将扩展为路径名.在大多数情况下,它更容易使用[[而不是[. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |