我编写了一个脚本来添加运行某个进程所需的一些环境变量。我这样使用它
>. ./env_change_script.zsh
使用前导点来表示我希望脚本在此 shell 的环境中运行。
然而,当另一个用户尝试使用此功能时,我们收到错误
/usr/local/bin/.: Permission denied.
脚本本身的权限很好,用户可以在没有前导点的情况下运行它(但当然这不会对他们的环境做出所需的改变)。
是否有某种安全设置可以防止用户以这种方式通过脚本更改其环境?如果是这样,如何更改此设置?还有其他解释吗?
答案1
用户.
在 shell 中不支持点。要求用户使用(点)source
代替。.