web-dev-qa-db-ja.com

コマンド出力を変数にリダイレクトする(bashスクリプト)

スクリプトにこの行を含めると、誰かが光を当てる可能性がある場合、このエラーが発生します

find -name "$name" | wc -l >> $num 

エラーメッセージ$ num:あいまいなリダイレクト?

5
user210382

構文

find -name "$name" | wc -l >> $num 

パイプラインの出力を変数に含まれるファイルにリダイレクトしようとします$num。エラーはおそらく$numは空で、ぶら下がりリダイレクトオペレーターを残しています>>

コマンド出力をbashの変数にリダイレクトすることはできません。ただし、 コマンド置換 を使用して、コマンドの出力を変数に割り当てることができます

num=$(find -name "$name" | wc -l)

findからの出力の行をカウントすることは、一致するファイルの数を評価するための確実な方法ではないことに注意してください。

9
steeldriver