たとえば、私は私のスクリプトファイルに「10人が現在オンラインです」と言おうとしました。
次の行の「現在オンラインになっている人」の部分がないと、コマンドを実行できないようです。
今この瞬間
w='who | wc -l'
echo "There are $w people online at the moment"
しかし、私は常に出力を取得します。
There are who | wc -l users online at the moment
コマンドが途中で機能するようにするには?例を見てコピーしようとしましたが、コマンド置換の問題には役に立たないようです。
ベストアンサー1
希望の出力
who | wc -l
に割り当てられたw
文字列ではなく、引用符が付いているために取得できる文字列です。コマンド置換を使用する必要があります$(...)
。
w=$(who | wc -l)
echo "There are $w people online at the moment"
(バックティックを使用することもできますが、簡単に入れ子にすることはできません)。