コマンドを実行しようとしています:
ps -e|grep some-process-name|grep -v grep|awk '{print $1}'|grep -v $$
そして、プロセス名が「some-process-name」のプロセスのpidが表示されます
しかし、シェルスクリプトで同じ長いコマンドを使用すると、プロセス名がコマンドライン引数として渡され、「$1」を介して使用され、出力に 2 つの pid が表示されます。
PIDS=$(ps -e|grep $1|grep -v grep|awk '{print $1}'|grep -v $$)
echo $PIDS
この理由は何ですか?助言がありますか?