- ベストアンサー
配列に空のデータを代入させない方法
シェルスクリプトで次のように配列paramにデータを代入するとき、$valが空だった場合、そのまま配列にも空のデータを代入してしまいます。「"」をつけなければ空のデータが代入されることはないのですが、その場合、$valにスペースが含まれていると複数のデータに分かれてしまいます。 param+=("$val") 配列に空のデータを代入させたくない場合、代入前に$valのデータをチェックするしか方法はないのでしょうか。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
param+=(${val:+"$val"}) ${val:+"$val"} というのは、if "$val"== "" then 空 else "$val" というような意味です。
お礼
なるほど。if文に展開するとすごくわかりやすいです。 ありがとうございました。