【发布时间】:2018-05-16 23:09:28
【问题描述】:
我有一个运行良好的简单脚本(并打印 hello)
variable=false
if [ "$variable" = "false" ]; then
echo hello
fi
但是,这不起作用(并且不会打印hello)
variable=$(source script.sh \
| awk -F":" '/maintenanceMode\>/ { print $2i }' \
| sed 's/,//g'
)
echo $variable # prints `false`, as expected
if [ "$variable" = "false" ]; then
echo hello
fi
我错过了什么?
【问题讨论】:
-
你确定第二个例子中
variable的值是false吗?你能在考试前回声吗? -
@BenjaminW。是的,三重检查
-
script.sh中有什么内容?您是否有理由使用它而不是仅仅执行它? -
并且通过“三重检查”,你在分配后做了
echo "$variable",而不只是检查你替换的命令的输出吗? -
如果你这样做
echo "'$variable'"- 可能会有空格。