> /var/log/stupid-test.l-6ren">
gpt4 book ai didi

bash - Upstart If 语句执行不合逻辑

转载 作者:行者123 更新时间:2023-11-29 09:44:07 26 4
gpt4 key购买 nike

我制作了一个完全出乎我意料的 Upstart 脚本。

愚蠢的测试.conf

script
VALUE="PONG"
echo "START" >> /var/log/stupid-test.log
if [ "$VALUE" == "PONG" ]; then
echo "GOOD PONG" >> /var/log/stupid-test.log
fi
if [ "$VALUE" != "PONG" ]; then
echo "BAD PONG" >> /var/log/stupid-test.log
fi
if [ "$VALUE" == "PING" ]; then
echo "BAD PING" >> /var/log/stupid-test.log
fi
if [ "$VALUE" != "PING" ]; then
echo "GOOD PING" >> /var/log/stupid-test.log
fi
echo >> /var/log/stupid-test.log
end script

stupid-test.log

START
GOOD PING

当然,如果您在 bash 中执行完全相同的命令,它会完美运行:

START
GOOD PONG
GOOD PING

这似乎适用于您可以放入 VALUE 中的任何内容——我已经尝试过整数和字符串。

最佳答案

在执行相等性测试时使用= 而不是==== 是一个 bash 扩展,它在 upstart 运行的 shell 中不可用。 Upstart runs all scripts using /bin/sh -e .在 Ubuntu 系统上,/bin/shdash,而不是 bash

关于bash - Upstart If 语句执行不合逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20558818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com