2016-09-11 12 views
4

dash -cbash -cとは異なる動作します。この違いの説明は"のbash -c" は、 "ダッシュ-c"

docker run -it ubuntu /bin/dash -c ps 
    PID TTY   TIME CMD 
    1 ?  00:00:00 sh 
    7 ?  00:00:00 ps 

docker run -it ubuntu /bin/bash -c ps 
    PID TTY   TIME CMD 
    1 ?  00:00:00 ps 

ありますか?

+0

私は、bashはpsを実行するシェルを実行する必要はないと言いたいと思います。 –

答えて

5

bashには、スクリプトの最後のコマンドが暗黙的にexecで実行される最適化があります。最近ではdashもこの最適化を得ましたが、使用しているバージョンではまだありません。 bash -c 'exec ps'dash -c 'exec ps'と同じ動作が表示されます。

関連する問題