ps からの出力を保存し、後で比較しようとしています。
私は次の行を使用しています:
siteminder_running=`ps -ef | grep $iplanet_home | grep LLAWP | wc -l`
出力を比較しようとすると、変数の数値の前にタブがあることがわかりました。
これは出力です:
- 0- value
何が問題なのですか?
ruakhが指摘したように、あなたはただ使うことができますgrep -c
siteminder_running=`ps -ef | grep $iplanet_home | grep -c LLAWP`
一般的に空白を修正するには、次xargs echo
のように使用します。
siteminder_running=`ps -ef | grep $iplanet_home | grep LLAWP | wc -l | xargs echo`
ほとんどの Unix および GNU/Linux リリースで提供される wc(1) ユーティリティは、ユーザー端末入力ファイル名とカウント (行/文字/印刷するように要求したもの) をタブで区切って印刷します。
標準入力の場合、入力ファイル名はなく、count の前に TAB があるだけです。
これを回避するには、いくつかの方法があります。たとえば、次のとおりです。
ps -ef | grep $iplanet_home | grep LLAWP | wc -l | awk '{ printf "%d\n", $0 }'
printf $(ps -ef | grep $iplanet_home | grep LLAWP | wc -l)
ps -ef | grep $iplanet_home | grep LLAWP | wc -l | sed -e 's/^[ \t]*//'
前述のように、これらは単なる例であり、これを実現するには文字通り数十の方法があります。