32741


シェルスクリプトで次のように配列paramにデータを代入するとき、$valが空だった場合、そのまま配列にも空のデータが作られてしまいます。「"」をつけなければ空のデータが代入されることはないのですが、その場合、$valにスペースが含まれていると複数のデータに分かれてしまいます。  
param+=("$val")  
配列に空のデータを代入させたくない場合、代入前に$valのデータをチェックするしか方法はないのでしょうか。  
よろしくお願いいたします。


CC BY-SA 3.0
2017-02-12T22:56:04.907
32612
2017-02-17T05:43:17.373
9029
question
bash shellscript array
シェルスクリプトで配列に空のデータを代入させない方法

[code]

    param+=(${val:+"$val"})
    
[/code]

`:+`については`man bash`の`Parameter Expansion`の項を参照。


CC BY-SA 3.0
2017-02-17T05:43:17.373
32741
2017-02-17T05:43:17.373
9029
32612
answer