壳牌有条件问题

时间:2012-01-25 22:03:32

标签: linux bash shell

我已经搜索并尝试了许多解决方案,但对于新手来说,我很遗憾。我在一个.sh中设置一个变量,调用第二个,然后尝试根据它是否为真。

testA.sh
#!/bin/sh

DB=1
. testB.sh

------------------------------------

testB.sh

if ${DB}==1; then
echo "DB is on"
fi

我找不到1 == 1命令。

4 个答案:

答案 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