测试两者:布尔值和字符串?

时间:2012-08-03 08:50:22

标签: bash

我想知道设置了两个选项之一:提供了bintruestr

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

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

1 个答案:

答案 0 :(得分: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