有一天,我正在努力进行if声明.转动我们的变量在开头有一个空格.所以我试着用下面的代码来征服它,但我没有运气.
if [ "$COMMAND_WAIT" == "*REBOOT" ]; then
sudo /etc/kca/scripts/reboot.sh
echo "REBOOTING"
fi
Run Code Online (Sandbox Code Playgroud)
我是否应该能够对此声明进行通配符,还是有另外一种解决方法?
以下应该有效.它使用[[
而不是模式[
周围没有引号.
if [[ "$COMMAND_WAIT" == *REBOOT ]]; then
sudo /etc/kca/scripts/reboot.sh
echo "REBOOTING"
fi
Run Code Online (Sandbox Code Playgroud)
[[ expression ]]
是一个复合表达式,有关扩展和引用的特殊规则.相反,[
是内置命令,*REBOOT
即将作为路径名扩展.在大多数情况下,它更容易使用[[
而不是[
.
归档时间: |
|
查看次数: |
2272 次 |
最近记录: |