Linux
通過 ssh 在 linux 中設置環境變數
我正在處理三個不同的問題,因此我將原始碼複製到了三個不同的目錄中。
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'
現在我必須手動更改環境變數的值。例如,如果我想處理問題號。3 然後我必須將環境變數導出
CDR
到dev3
.export CDR=dev3.
因為對於問題沒有。3,我應該在
dev3
文件夾下,即/nobackup/vivek/dev3/<source_code>..
如果我正在處理問題號,則類似。1 或 2 我必須手動將環境變數導出到
dev1
或dev2
export CDR=dev1 or export CDR=dev2
我想
CDR
在 ssh 本身的時候設置環境變數。我試過下面的命令來完成那個ssh -t vgagiot@122.11.33.21 'export CDR=dev1' or ssh -t vgagiot@122.11.33.21 'export CDR=dev2'
當我執行上述 ssh 命令時,只要我輸入密碼,我的連接就會終止。
vgagiot@122.11.33.21 的密碼:
與 122.11.33.21 的連接已關閉。
任何人都可以在這裡幫助我。我不確定為什麼我的連接會被終止。有沒有其他方法可以在登錄時設置我的環境變數。
您想啟動
bash
(或您喜歡的 shell) - 最好作為登錄 shell,以確保您的標準配置文件、rc 文件等也被載入:ssh -t user@server "export var=VALUE ; bash -l"
或者正如@they 所指出的,較短的符號
ssh -t user@server "var=VALUE bash -l"
也會這樣做。