我有一個bash腳本,其中聲明瞭一些函數,並且我喜歡在創建新shell時自動獲取它,以便我可以立即使用這些函數。在~/.bashrc
中添加source ~/setsetup.sh
似乎不起作用。在創建新shell時自動創建源bash腳本
編輯: 〜/ .profile和〜/ .bashrc都有效。在編寫腳本時,我只有一個愚蠢的錯字。謝謝!
我有一個bash腳本,其中聲明瞭一些函數,並且我喜歡在創建新shell時自動獲取它,以便我可以立即使用這些函數。在~/.bashrc
中添加source ~/setsetup.sh
似乎不起作用。在創建新shell時自動創建源bash腳本
編輯: 〜/ .profile和〜/ .bashrc都有效。在編寫腳本時,我只有一個愚蠢的錯字。謝謝!
如果你創建新的shell是登錄shell,它將執行的.bash_login
一個,.bash_profile
,或者.profile
(無論它找到第一),而不是.bashrc
。通常,如果使用這兩個bash
兩個bash
中的一個,則可以從.bashrc
中獲取。您不應該在.profile
中放置任何bash
特定命令,因爲該文件可能被其他非bash
外殼讀取。例如,如果您決定從.profile
獲取腳本,則應使用. setsetup.sh
表單,並確保該腳本中沒有任何bash
特定內容。
'source setup.sh'或'之間的任何區別。 setup.sh' – pierrotlefou 2013-02-28 03:32:29
'.'是POSIX標準中命令的名稱,它不包含同義詞'source'。如果你的shell支持'source',那麼兩者之間沒有區別。 – chepner 2013-02-28 03:37:39
有幾個文件。相關的可能是你的情況~/.profile
。它通常用於發送.bashrc
。
查看man .profile
瞭解詳情。當bash
被啓動爲登錄shell .profile
是相關的,否則.bashrc
。
哈哈+1!舉手擊掌! ;) – L0j1k 2013-02-28 01:17:35
@ L0j1k:同樣;) – 0xC0000022L 2013-02-28 01:18:43
你的問題是更好的答案。 :) – L0j1k 2013-02-28 01:20:00
你在找什麼是~/.profile
其中應該執行每次你創建一個新的bash shell。
你確定你的'.bashrc'源代碼嗎? – 2013-02-28 01:16:28
嘗試使用。而不是來源。例如'。 setsetup.sh' – 2013-02-28 01:17:03