Cy8*_*099 6 linux bash shell posix fish
我要将我的 root 的默认 shell 从 bash 更改为 fish。据我所知,fish 不是 POSIX 标准外壳。另一方面,可能系统中的内核或其他东西与 POSIX 标准有关系,因此不建议将 root 的默认 shell 设置为非 POSIX 的 shell,因为这可能会导致操作系统的某些部分出现问题。我看到有人在某些主题上建议其他人不要将 root 用户的默认 shell 设置为非 POSIX 的 shell!这样对吗?
我是否应该将 root 的默认 shell 更改为非 POSIX 的 shell?(如果你能解释清楚,我会很高兴,我是类 Unix 世界的新手!)
将 Fish 设置为默认登录 shell 将意味着SHELL环境变量将设置为 Fish。许多程序(例如 vim、tmux)使用它作为 shell 来执行 shell 命令,除非您显式地将它们配置为使用另一个 shell(例如/bin/sh)。因为这些 shell 命令很可能包含 POSIX shell 语法,所以命令将无法被 Fish 正确执行。这意味着您更有可能遇到看似随机的、令人沮丧的问题。
您可以将 Fish 设置为默认登录 shell。我在我的两台主计算机上这样做。但我是一位经验丰富的 UNIX 用户,我知道这可能会导致潜在的问题。我也知道如何解决它们。例如,通过添加set shell=/bin/sh到我的 vimrc 配置文件中。如果您缺乏经验或者只是不想处理所需的额外配置,最好将登录 shell 设置为 bash 或其他 POSIX shell。然后在交互模式下从该 shell 启动 Fish。这也更安全,因为您更有可能以无法启动交互式 Fish 会话的方式搞砸 Fish 配置。如果您将 Fish 设置为默认登录 shell,您将无法登录。
最重要的是,如果您是一个没有经验的 UNIX CLI 用户或刚接触 Fish,请不要将其设置为默认 shell。如果您是一位经验丰富的 UNIX CLI 用户,并且已经使用 Fish 几周了,并且确信您可以正确配置它,请随意将其设为您的默认 shell。
| 归档时间: |
|
| 查看次数: |
869 次 |
| 最近记录: |