0

2つのオプションのいずれかが設定されていることを確認したいと思います:binto true、またはstr提供されています:

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 に答える