0

我想检查是否设置了两个选项之一:bintotruestr提供:

bin=false; str=; if $bin -o [ -n "$str" ]; then echo yes; fi

没有echo任何东西,应该是,但是:

bin=false; str='str'; if $bin -o [ -n "$str" ]; then echo yes; fi

也不回声 - 虽然它应该。我做错了什么?

4

1 回答 1

1

您的-o选择正在传递给false. 你需要||

bin=false; str=; if $bin || [ -n "$str" ]; then echo yes; fi
bin=false; str='str'; if $bin || [ -n "$str" ]; then echo yes; fi
于 2012-08-03T08:53:37.647 回答