コマンドからの出力を Bash の変数に保存しようとしていますが、出力を保存する代わりに、コマンドとして解釈されて実行されています。それは私が望むものではありません。
tmp="$($line | awk '{print $1}')"
これにより、出力がawk
コマンドとして実行されます。
echo $line | awk '{print $1}'
これにより、変数に保存する出力が出力されます。
変数に格納された 2 行目の出力を取得するにはどうすればよいですか?
コマンドからの出力を Bash の変数に保存しようとしていますが、出力を保存する代わりに、コマンドとして解釈されて実行されています。それは私が望むものではありません。
tmp="$($line | awk '{print $1}')"
これにより、出力がawk
コマンドとして実行されます。
echo $line | awk '{print $1}'
これにより、変数に保存する出力が出力されます。
変数に格納された 2 行目の出力を取得するにはどうすればよいですか?
あなたはこれを探しています:
tmp=$(echo "$line" | awk '{print $1}')
しかし、それは Echo の無駄な使用です。代わりにヒア文字列を使用します。
tmp=$(awk '{print $1}' <<< "$line")
これはうまくいくはずです
var=`echo $line | awk '{print $1}'`
バッククォートで