2012-08-23 53 views
0

我在我的.bashrc中有以下幾行,我希望在通過ssh登錄時執行這些行。爲什麼.bashrc中的命令沒有執行?

csh 
source /x/y/.cshrc 
source /x/y/z/sourceme 

但問題是隻有第一個命令正在正確執行。 (csh提示即將到來) 以下源命令不受影響。 我注意到有一些錯誤是從bash(而不是csh)的'源'命令拋出

我在某處讀到這可能是由於.bashrc執行多次。而源代碼命令試圖在bash中執行而不是csh。

我希望所有這三個命令在登錄後一個接一個地執行。我怎樣才能做到這一點?我嘗試了.bash_profile .bash_login等。另外,我沒有對/ etc/profile的寫訪問權限

回答

3

「命令」由bash shell解釋。它們不是要送入終端的字節。會發生什麼是csh以交互方式運行,並且一旦它退出bash就會獲得兩個(推測是csh)腳本文件。

它看起來像你只是試圖改變你的shell爲csh(爲什麼,我不知道)。你嘗試過使用chsh嗎?

+0

我正在嘗試將shell更改爲csh,並運行一些用於爲csh添加一些環境變量的腳本。目前,我沒有該環境配置腳本的bash版本。 – gkns

1

如果要在csh中運行這些命令,請將它們移動到.cshrc

儘管如此,使用csh絕對會引發問題,你真的認爲你知道你在做什麼嗎?爲什麼?

+0

使用'csh'不僅僅是提出問題 - 它也回答了它! –

0

source是一個"bashism",也就是說它不會在其他shell中工作。改爲使用.

+0

'source'也是一個csh-ism –