我将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:
答案 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
的相关文件}。