我的系统是Debian 9.4,它在我的系统上使用了linux kernel 4.9.0-8-amd64和echo $SHELL,给出了/bin/bash,/bin/sh是到/bin/dash的链接。
我很好奇为什么每次使用dmenu_run从dwm运行应用程序时,都会有一个额外的/bin/bash进程作为父进程运行,所以我稍微钻研了dmenu_run的脚本:
#!/bin/sh
dmenu_path | dmenu "$@" | ${SHELL:-"/bin/sh"} &我不明白为什么我的电脑有/bin/bash而不是/bin/sh。我还在dwm中阅读了相应的源代码。它表明它只是简单的fork和execvp dmenu_run。没有理由运行/bin/bash而不是/bin/sh。
发布于 2018-11-10 08:28:19
通常,在使用/bin/sh作为默认shell的系统中,/bin/bash是指向bash的符号链接。
https://unix.stackexchange.com/questions/480914
复制相似问题