我正在研究三个不同的问题,因此我将源代码克隆到三个不同的目录中。
1) /nobackup/vivek/dev1/<source_code>..
2) /nobackup/vivek/dev2/<source_code>..
3) /nobackup/vivek/dev3/<source_code>..
我在文件中为几个模块创建了几个别名,.bashrc
以便我可以快速跳转到它们。我使用了名为 的环境变量,CDR
其值可以是dev1
,dev2
或者dev3
取决于我正在工作的问题和目录。
.bashrc
我的文件中的别名之一的示例
alias acl='cd /nobackup/vivek/$CDR/<source_code>../acl'
现在我必须手动更改环境变量的值。例如,如果我想处理第 1 号问题。 3 然后我必须将环境变量导出CDR
到dev3
.
export CDR=dev3.
因为对于问题没有。 3、我应该在dev3
ie文件夹下/nobackup/vivek/dev3/<source_code>..
类似地,如果我正在处理第 1 号问题。 1 或 2 我必须手动将环境变量导出到dev1
或dev2
export CDR=dev1 or export CDR=dev2
CDR
我想在ssh本身的时候设置环境变量。我已尝试以下命令来完成该任务
ssh -t [email protected] 'export CDR=dev1'
or
ssh -t [email protected] 'export CDR=dev2'
当我执行上述 ssh 命令时,一旦输入密码,我的连接就会终止。
[电子邮件受保护]的密码:
与 122.11.33.21 的连接已关闭。
任何人都可以在这里帮助我吗?我不确定为什么我的连接被终止。有没有其他方法可以在登录时设置我的环境变量。
答案1
您想要启动bash
(或您喜欢的 shell) - 最好作为登录 shell,以确保您的标准配置文件、rc 文件等也被加载:
ssh -t user@server "export var=VALUE ; bash -l"
或者正如 @they 所指出的,更短的符号
ssh -t user@server "var=VALUE bash -l"
也会做的。