2

ieでashで3つのジョブを開く

sh & sh & sh &

ieでこの仕事を数えます

jobs -p | wc -l

ショー

3

これは問題ありません。しかし、このジョブ数を変数に代入しようとしています

JOBNR=$(jobs -p | wc -l)

この変数を

echo $JOBNR

ショー

0

なんで?割り当て中に、新しいシェル (ジョブなし) が開かれた可能性がありますか? 最善の解決策は何ですか?

前もって感謝します。

4

2 に答える 2

0

最後に、私は自分の問題の解決策を見つけました-段階的に、引用符に注意してそれを行うこと: JOBNR=$(jobs -p); JOBNR=$(echo "$JOBNR" | wc -w); echo $JOBNR 仕事をします.

最初の式は生の仕事を行い、リスト (いくつかの行を含む) を に格納しJOBNRます。

エコー$JOBNR( に複数の行が格納されているため、引用符 (!) を使用JOBNR) と を使用した単語のカウントは、「通常の」方法 ( )wcに (再) 割り当てられる可能性があります。JOBNRVAR=$(command)

于 2016-02-17T07:18:29.277 に答える