ps出力でコマンドを設定できません。

ps出力でコマンドを設定できません。

bin\apachectlhttpdプロセスを取得してから、コマンド/ファイル-v出力を取得したいと思います。

出力:

ps -eo cmd | grep httpd | grep -v grep
/home/myapache/app/httpd/bin/httpd -k start
/home/myapache/app/httpd/bin/httpd -k start
/home/myapache/app/httpd/bin/httpd -k start

の出力はps -eo cmd | grep httpd | grep -v grep | head -1 | awk '{print $1}'次のとおりです。

/home/myapache/app/httpd/bin/httpd

私の要件は、上記のコマンドを使用して以下のコマンドを実行することですps

/home/myapache/app/httpd/bin/apachectl -v

これまで私が手に入れたことは次のとおりです。

dirname `ps -eo cmd | grep httpd | grep -v grep | head -1 | awk '{print $1}'` && echo -n "/apachectl -v

出力:

/home/myapache/app/httpd/bin
/apachectl -v

残念ながら、/apachectl -v次のように同じ行にしたい場合は、次の行に表示されます。

ps 可能であれば、posixビルドを使用して次のコマンドを実行して実行するように依頼してください。

/home/myapache/app/httpd/bin/apachectl -v

答え1

必要なことを行うと仮定すると、ps -eo cmd必要なものは次のとおりです。

"$(ps -eo cmd | awk 'sub("/[h]ttpd[^/]*$",""){print; exit}')"/apachectl -v

答え2

このように1行で実行できます

PS_OUTPUT=`dirname $(ps -eo cmd | grep [h]ttpd | head -1|awk '{print $1}')`; APACHE='apachectl -v'; myCMD='$OUTPUT/$APACHE'; eval $myCMD

eval:シェルコマンドなどのパラメータを実行します。

関連情報