コマンドで文を続ける方法

コマンドで文を続ける方法

たとえば、私は私のスクリプトファイルに「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"

(バックティックを使用することもできますが、簡単に入れ子にすることはできません)。

おすすめ記事