在每个 ssh 会话中自动导出变量

在每个 ssh 会话中自动导出变量

我有一台通过 SSH 登录的远程(Debian 8)机器。在我的每个 ssh 会话中,我需要初始化一个变量“XDEBUG_CONFIG”,以便稍后我可以在同一会话中使用调试工具。

这是我必须在每次会话中输入的内容:

export XDEBUG_CONFIG="remote_enable=1 remote_mode=req remote_port=9000 remote_host=10.0.2.2 remote_connect_back=0"

然后,我在同一会话中启动的其他程序将使用该变量。

我想少打字(或者根本避免打字,这样当我登录时就会自动设置变量 XDEBUG_CONFIG)。每次的值都是相同的。

我尝试将命令放入 ~/.ssh/rc 但没有帮助。当我再次登录时

echo $XDEBUG_CONFIG

它显示一个空行。到目前为止,我已经在 ~/.bashrc 中创建了别名,如下所示

alias helpdebug='echo "export XDEBUG_CONFIG=\"remote_enable=1 remote_mode=req remote_port=9000 remote_host=10.0.2.2 remote_connect_back=0\""'

并尝试在反引号中运行它:

`helpdebug`

但这会导致变量“XDEBUG_CONFIG”仅设置为“remote_enable=1”(即直到第一个空格)。

答案1

把这个放在你的~/.bashrc

if [ -n "$SSH_CONNECTION" ]; then
    export XDEBUG_CONFIG="remote_enable=1 remote_mode=req remote_port=9000 remote_host=10.0.2.2 remote_connect_back=0"
fi

相关内容