特定のタスク(たとえば、Apache Tomcatの数)に対して実行されているプロセスの数を知る必要があります。それ以外の場合は、メッセージを印刷します。実行中のプロセスの名前を列挙し、変数に割り当てます。
result=`ps aux | grep tomcat | awk '{print $2}' | wc -l`
項目数が生じるように割り当てられている
:
私はのような何かを実行する際に、今、BASHスクリプトでこれを必要とします。ハレイ!しかし私はPIDを持っていません。しかし、これを中間段階(wcなし)として実行しようとすると、問題が発生します。だから私がこれを行う場合:
result=`ps aux | grep tomcat | awk '{print $2}'`
私は変数の結果を変更するために何か試みても動作していないようです。私はsetとtr(改行で空白を置き換える)を試みましたが、正しい結果を得ることができません。理想的には、変数結果を個々の要素としてPIDを持つ配列にしたいと思います。それで、サイズや要素を簡単に見ることができます。
誰でも私が間違っていることを示唆することはできますか? おかげで、 フィル
更新:
は、私は、次の構文を使用して終了:
pids=(`ps aux | grep "${searchStr}"| grep -v grep | awk '{print $2}'`)
number=${#pids[@]}
キーはバックチェックが入っコマンドの周りに括弧を入れていました。変数pidsは配列であり、長さと要素を求めることができます。
chorobaとDimitreのおかげで彼らの提案と助けに感謝します。
こんにちは。最初の行の構文を説明できますか? – Phil
先頭へ(配列定義を開始します。$はコンテンツの出力を ')と同様に文字列として返します。 – choroba
スニペットを貼り付けるだけで答えを説明してください。 – Pubby