答案1
“存储在文件中的变量”并不是真正的东西。大多数类型的变量存在于正在运行的进程(shell 或其他程序)的状态中。 (环境变量、shell 变量等之间存在差异,但这在这里并不重要。)每个进程都有自己的一组变量(除了环境变量的副本在创建时由子进程继承)。
您可以使用类似 的命令在 shell 进程中定义变量name="Jhon"
,但它仅在该特定 shell 进程中定义该变量,而不是任何其他进程。另外,它是一个可执行命令;该定义仅在执行时发生(例如,当它位于文件中时),并且可以稍后通过运行其他命令(例如name="Rho"
或 )来更改unset name
。
“到处”定义变量的常用方法是在 shell 初始化文件中放置一个命令来定义它,例如 ~/.bashrc。但只有当 shell 启动时运行该文件中的命令时,此定义才会被执行;例如,bash 登录 bash shell 将运行 ~/.bash_profile (或 ~/.bash_login 或 ~/.profile)而不是 ~/.bashrc; bash 以外的 shell(如 zsh 和 dash)仍将运行不同的初始化文件。
答案2
rc
为了持久性,在 或源文件中声明变量rc
echo 'source /home/ec2-user/file1' >> /home/ec2-user/.bashrc