Normalmente, /bin/sh é um link simbólico para /bin/bash em sistemas que usam bash como o shell padrão.
Meu sistema é Debian 9.4 , que usa linux kernel 4.9.0-8-amd64 e echo $SHELL no meu sistema, dá /bin/bash e /bin/sh é um link para /bin/dash .
Eu estava curioso para saber por que toda vez que eu executo um aplicativo com dmenu_run de dwm há um processo /bin/bash adicional sendo executado como pai, então eu entrei no script de dmenu_run um pouco:
#!/bin/sh
dmenu_path | dmenu "$@" | ${SHELL:-"/bin/sh"} &
Não consigo entender por que meu computador tem /bin/bash em vez de /bin/sh . Eu também li o código-fonte correspondente em dwm . Isso mostra que simplesmente fork e execvp dmenu_run . Não há motivo para que /bin/bash seja executado em vez de /bin/sh .
Normalmente, /bin/sh é um link simbólico para /bin/bash em sistemas que usam bash como o shell padrão.
Tags shell shell-script dmenu