在 ubuntu 中导出路径和配置

在 ubuntu 中导出路径和配置

我正在尝试使用以下方法添加一些导出:

# SETUP CONFIGS
sudo bash -c "cat >> /etc/bash.bashrc" <<'EOF'
export AWS_CONFIG_FILE=/etc/test/aws.txt
export PATH="$PATH:/usr/local/bin/"
EOF

我有两个问题:

  1. 无论出于什么原因,它就是无法工作,AWS 无法读取配置,就好像它从未链接过一样。我这样做对吗?

  2. 其次,重启后这些命令还能继续使用吗?也就是说,我是否只需要执行一次,然后当我重启服务器时这些命令仍然会存在,或者我是否必须将这些命令添加到我的 rc.local 中,这样每次重启服务器时这些命令都会恢复。

感谢您提供的任何帮助。

答案1

从您的问题中无法清楚得知您在何时何地运行您所提供的脚本。

运行脚本后,cat /etc/bash.bashrc查看是否存在两条导出行。

该脚本/etc/bash.bashrc每次运行时都会添加两行。如果运行两次,则会有重复的行。该文件/etc/bash.bashrc是常规配置文件,不会每次启动时重新生成,因此您所做的任何更改都是持久的。因此,您可能只想在安装该脚本的每个平台上运行一次该脚本。

无论如何,/etc/bash.bashrc可能不是将全局添加项放入 的好地方PATH。您可以将其放入/etc/profile。但在执行此操作之前,请先echo $PATH验证 是否/usr/local/bin已存在。在大多数发行版中,它都包含在开箱即用的 PATH 中。

你对 所做的更改将对新进程(例如你启动的运行的终端窗口/etc/bash.bashrc)生效bashbash您进行了更改。此更改不会影响当前正在运行的窗口。

您在文件中PATH设置的环境变量仅影响 bash shell。如果您从 或 从文件启动程序,则需要在这些脚本中专门设置 ,或使用文件为所有进程设置环境变量。请参阅/etc/profile.bashrccrontabat/etc/rc.dPATHetc/environment解释差异的链接。

答案2

系统范围的环境变量可以放在中/etc/environment

一旦你将上述行添加到/etc/bash.bashrc,每个 bash 进程都应该“知道”它们。你可以使用以下命令验证这一点:

echo $PATH

source /etc/bash.bashrc
echo $PATH

也可以查看 Ubuntu 社区 Wiki环境变量

相关内容