我已经搜索并尝试了许多解决方案,但对于新手来说,我很遗憾。我在一个.sh中设置一个变量,调用第二个,然后尝试根据它是否为真。
testA.sh
#!/bin/sh
DB=1
. testB.sh
------------------------------------
testB.sh
if ${DB}==1; then
echo "DB is on"
fi
我找不到1 == 1命令。
答案 0 :(得分:5)
应该是:
if [[ "$DB" = "1"]]; then
或
if [[ $DB -eq 1 ]]; then
答案 1 :(得分:2)
这不是你在Bash中做equality testing的方式......
答案 2 :(得分:1)
如果要测试是否设置了变量,标准方法是:
if test "${DB+set}" = set; then # here, $DB is set fi
如果要检查它是否设置为特定字符串值,请使用:
if test "$DB" = value; ...
如果要检查特定的整数值:
if test "$DB" -eq 4; ...
如果DB是一个看起来不像整数的字符串值,则最后一个表单将生成错误消息。
答案 3 :(得分:0)
testB.sh
if test ${DB} == 1; then
echo "DB is on"
fi