为什么别名在/ etc / profile中不可用?

时间:2017-05-11 06:36:28

标签: linux shell zsh

我将alias se='sudo -E '放入/etc/profile并重新启动。然后我键入se,终端只是说“命令未找到”。

为什么别名在/ etc / profile中不可用?怎么解决?

编辑:

我已尝试将alias se='sudo -E '放入/etc/profile~/.zprofile~/.zshrc

  • /etc/profile失败
  • /etc/zprofile失败
  • /etc/zshenv成功
  • /etc/zshrc成功
  • ~/.zprofile失败
  • ~/.zshrc成功

REF:

1 个答案:

答案 0 :(得分:1)

当您使用/etc/profile时,我假设您只希望在shell(zsh)的登录会话中执行此操作。

这是因为默认情况下zsh 在启动登录shell时无法读取/etc/profile。要为登录shell设置任何全局参数,请使用文件/etc/zsh/zprofile

要设置适用于任何类型调用的内容,请改用/etc/zsh/zshenv。典型/通用顺序为zshenv > zprofile > zshrc > zlogin(取决于调用和可用性)。

毋庸置疑,对于任何特定于用户的参数,您应该使用特定于用户的.zprofile,即~/.zprofile

备注:

  • 如果您要为任何交互式shell会话执行此操作,请使用.zshrc/etc/zshrc~/.zshrc

  • 如果您正在考虑使用/etc/profile source . /etc/profile zsh Constrains来自constant的相关文件}。