bin\apachectl
httpdプロセスを取得してから、コマンド/ファイル-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
:シェルコマンドなどのパラメータを実行します。