我一直在更新bash的一些默认配置文件,并且从我遵循的教程中可以看出,我可以使用以下方法使用新的环境设置重新加载新的配置文件:
source /etc/bash.bashrc
唯一的是-新的环境变量仅对我当前的用户可用-当我使用sudo时将被忽略。当我关闭终端会话并重新加入时,它们仅可用于sudo。
当我尝试使用时:
sudo source /etc/bash.bashrc
我得到了错误:
sudo: source: command not found
是否有一种简单的方法可以为sudo加载新的bash配置文件设置,而无需关闭终端并重新启动?
-最初,我使用了一些引用变量的安装程序脚本。我发现虽然当我直接调用脚本时它们可以访问变量(尽管这将导致以后在创建目录时出现问题,因为我需要成为root用户),但使用sudo调用安装脚本不会。
我通过使用以下简单命令进行测试来证明了这一点:
echo $ENV_VARIABLE
sudo echo $ENV_VARIABLE
第一个将输出变量的值,但是第二个将不输出任何内容。
问题在于这source
是一个bash内置命令(而不是像-ls
或那样的程序grep
)。我认为一种方法是以root用户身份登录,然后执行source命令。
sudo -s
source /etc/bash.bashrc
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句