2016-08-01 139 views
0

我無法找到這個althougth的答案有很多類似的問題。我想改變我的Linux命令提示符的基礎上,我有ssh遠程主機的顏色。因爲bash環境變量不保留在ssh ,所以我怎麼做到這一點。有幾百個服務器我每天登錄。所以每個遠程主機改變/.bashrc是不可能的。我有一種方法可以提取一個腳本,每次ssh完成都可以調用。可以有人請詳細說明哪些文件以及它應該如何編輯.gnome,openssh等不會被提供。

+0

你可以使用'ssh host'PS1 = $ PS1 bash'',但配置'PS1'的遠端配置文件幾乎肯定不會檢查'PS1'是否已經設置。 – chepner

+2

請參閱:[我可以通過ssh轉發env變量嗎?](http://stackoverflow.com/q/4409951/3776858) – Cyrus

+0

但我在尋找的是一個conf文件或類似的東西或一些腳本的變化每次我都可以調用ssh,而不用改變d的方式我使用SSH命令... –

回答

0

「由於bash的環境變量,不會保留通過ssh ......」

人SSH

Additionally, ssh reads ~/.ssh/environment, and adds lines of the format 
    「VARNAME=value」 to the environment if the file exists and users are 
    allowed to change their environment. For more information, see the 
    PermitUserEnvironment option in sshd_config(5). 
+0

這隻適用於服務器的配置已啓用 PermitUserEnvironment,默認關閉。 –

0

SSH執行過程中,一個新的登錄shell執行。在shell登錄期間 * rc文件沒有執行,只執行了* profile。

所以把你的代碼中/etc/profile文件〜/ .bash_profile中