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