これを解決するためにgrepを使用してあらゆる種類のフィルターを試しましたが、クラックできません。
cpumem="$(ps aux | grep -v 'grep' | grep 'firefox-bin' | awk '{printf $3 "\t" $4}'
プロセスの CPU とメモリの使用量を抽出しています。コマンド ラインから実行すると、2 つのフィールドが正しく出力されます。
ps aux | grep -v 'grep' | grep 'firefox-bin' | awk '{printf $3 "\t" $4}'
> 1.1 4.4
しかし、bash スクリプト内から同じコマンドを実行すると、次のようになります。
cpumem="$(ps aux | grep -v 'grep' | grep 'firefox-bin' | awk '{printf $3 "\t" $4}')"
echo -e cpumem
> 1.1 4.40.0 0.10.0 0.0
3つのレコードをピックアップしていると推測していますが、どこからかわかりません.
grep -v 'grep' を使用して他の grep プロセスを除外しています。誰か提案やより信頼できる方法を提供できますか??