Bash
如何在 shell 中向 .bash_profile/.profile/bashrc 添加函式?
我有一個將紀元時間轉換為日期的函式。這是定義
date1(){ date -d @$1 }
我希望能夠寫:
$ date1 xxxyyy
其中 xxxyyy 是我傳遞給函式的參數,因此我可以獲得相應的日期。我知道我必須將其添加到
.bash_profile
、.profile
或中.bashrc
,然後獲取它:$ source file
但是,我不確定將它放在哪個文件中。目前,我將它放在
.profile
. 但是要執行它,我必須source .profile
每次都這樣做。理想情況下,當電腦像環境變數一樣啟動時,它應該使其可用。
來自
man bash
:當 bash 作為互動式登錄 shell 或作為帶有 –login 選項的非互動式 shell 呼叫時,它首先從文件 /etc/profile 中讀取並執行命令(如果該文件存在)。讀取該文件後,它會按順序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,然後從第一個存在且可讀的文件中讀取並執行命令。
換句話說,你可以把它放在任何一個
~/.bash_profile
,~/.bash_login
或~/.profile
,或任何一個文件source
中。通常~/.profile
將 source~/.bashrc
,這是“為登錄 shell 執行的個人初始化文件”。要啟用它,請啟動一個新的 shell,執行
exec $SHELL
或執行source ~/.bashrc
。