4

dash -cとは異なる動作をしbash -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

この違いの説明はありますか?

4

1 に答える 1

5

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

于 2016-09-11T09:12:09.633 に答える