2013-12-08 128 views
0

遠程登錄時如何在OSX上自動運行命令?如何遠程SSH時自動運行OSX上的命令?

有沒有一個文件,當你在iMac上ssh時,它會自動執行,就像在linux上的.bashrc一樣?

我試過.bashrc.login/etc/profile,沒有什麼作用。

+0

.bashrc文件可能不是源代碼,因爲它是一個登錄shell。你可能想要檢查你的.bash_profile文件,看看它是否會在完成後發送.bashrc文件,並且shell是交互式的。 – Petesh

+0

@Petesh,謝謝。我在哪裏可以找到.bash_profile?我在〜/ – klm123

+1

中看不到它如果它不存在,那麼你需要創建一個。默認的登錄行爲是它首先讀取並執行文件/ etc/profile中的命令(如果該文件存在)。讀取該文件後,它會按照該順序查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,並從第一個存在且可讀的命令讀取和執行命令。還要注意:如果啓動了不是登錄shell的交互式shell,bash會從〜/ .bashrc中讀取並執行命令(如果該文件存在)。這可以通過使用--norc選項來禁止。 – Petesh

回答

2

由於您使用的是登錄shell,因此.bashrc文件未找到。在這種情況下,bash的規則非常明確:

默認登錄行爲是它首先讀取並執行文件/etc/profile中的命令(如果該文件存在)。讀完該文件後,它會按順序查找~/.bash_profile,~/.bash_login~/.profile,並讀取並執行第一個存在且可讀的命令。

還要注意的是:當一個交互的shell是登錄shell啓動時,bash讀取並~/.bashrc執行命令,如果該文件存在。這可以通過使用--norc選項來禁止。