我可以在哪里存储当前 Unix 用户的变量和值,以便我可以在 SSH 和脚本中使用它们?

问题描述

我经常使用一些变量来配置和调整我的 Ubuntu LAMP 服务器堆栈,但我厌倦了必须将 export 命令复制并粘贴到我的 SSH 窗口中以注册变量及其价值。

本质上,我希望将我的变量及其值保存在用户配置文件主目录内的文件中,以便当我在 SSH 窗口中键入命令或执行 bash 脚本时,可以轻松使用这些变量。我不想设置任何系统范围的变量,因为其中一些变量用于设置密码等。

最简单的方法是什么?

更新 1

所以基本上我可以将变量和值存储在一个文件中,然后每次我登录到 SSH 会话时,我都会调用这个文件一次来设置变量?

cat <<"EOF" >> ~/my_variables
export foo='bar'
export hello="world"
EOF
ssh root@example.com 
$ source ~/my_variables
$ echo "$foo"
$ bar

然后为了从脚本中调用变量,我将 source ~/my_variables 放在脚本的顶部?

#!/bin/bash
source ~/my_variables
echo "$hello"

解决方法

只需将您的 export 命令添加到文件中,然后在您的 SSH 会话中运行 source <the-file>(或 . <the-file> 用于非 bash shell)。