默认系统 shell 的职责是什么?

默认系统 shell 的职责是什么?

据我了解,在Linux /bin/sh(指/bin/dash某些发行版)中是默认的系统shell。它运行(SysV)初始化脚本吗?还要别的吗?任何为什么不是root用户 shell(/bin/bash在 Debian 中根据/etc/passwd)来执行这些任务?我问的原因是我读过LPIC-1学习指南说:

Linux 系统使用默认系统 shell 来运行系统 shell 脚本,通常在启动时运行。

我的印象是启动发生在root用户下,因此root使用用户 shell。

答案1

您可能希望这些脚本不依赖于任何用户(包括 root)的默认 shell。如果管理员更改了 root 的默认 shell,它不应该以任何意外的方式影响系统,包括启动。

所有脚本都是如此,这就是为什么所有脚本都应该以#!指定要使用的解释器开头。

相关内容