$ 1または$ 2が空であることをテストするには、-zを使用します。 - BASH

$ 1または$ 2が空であることをテストするには、-zを使用します。 - BASH

同じスクリプトで複数のRAIDモニタリングを実行しており、変数がnullを返した場合はスクリプトから警告を送信するか、赤に変更したいと思います。

私は読んでみて、それを得たと思いますが、私の試みは決して失敗しません。

テストのためにgrepを失敗させ、これは失敗を引き起こしましたが、これまで失敗することはできませんでしたが、実際には常に通過しました。

テスト環境は次のとおりです。

var="$(sudo /usr/StorMan/arcconf GETCONFIG 1 LD 0 | grep Optimal)"
var1="$(sudo /usr/StorMan/arcconf GETCONFIG 1 LD 1 | grep fail)"

これは1つの変数に対して機能します。

if [ -z "$var" ]

頑張りました

if [ -z "$var" ] && [ -z "$var1" ]
if [ -z "$var" && -z "$var1" ]
if [[ -z "$var" && -z "$var1" ]]

役に立たないが、誰かが私が間違っていることをすぐに知ることができると確信して、時間をかけてこの記事を読んでくれてありがとう!

ベストアンサー1

たとえば、||代わりに使用してください。&&

if [ -z "$var" ] || [ -z "$var1" ]

これバッシュマニュアル説明する:

そしてそしてまたはリストは、制御演算子で区切られた1つ以上のパイプシーケンスです。&&そして||、それぞれ。そしてそしてまたはリストは左の関連付けで実行されます。

おすすめ記事