「sh -c」と一緒に「pidof」を使用してください。

「sh -c」と一緒に「pidof」を使用してください。

このコマンドラインが印刷されない理由は疑問に思いますpidof sh

$ sh -c "var=`pidof sh` ; echo \$var; ps -H"

123期待どおりに印刷されます。

$ sh -c "var=123 ; echo \$var; ps -H"

私はUbuntu Linuxを使用しています。

ベストアンサー1

引用符を逃しました。 1つの方法は次のとおりです。

sh -c "var=\"`pidof sh`\" ; echo \$var; ps -H"

その他:

sh -c "var=\"\`pidof sh\`\" ; echo \$var; ps -H"

pidof sh実行方法が異なることに注意してください!最初のバージョンでは、バックティック()で囲まれた式はpidof sh現在シェルによって実行されました。今後 sh -cランニング。 2番目はsh -c実行されるコマンドですpidof。さらに、pidof逆引用符内の式を評価するサブシェルで実行されるため、var変数に追加のpidが一覧表示されます。 (もっと簡単に:バックティックは別のシェルを呼び出します。それからpidofとしてリストされます。 )

両方のためのより良いアプローチは、または$( ... )を使用することです\$( ... )

おすすめ記事