Bash

如何在 shell 中向 .bash_profile/.profile/bashrc 添加函式?

  • November 27, 2018

我有一個將紀元時間轉換為日期的函式。這是定義

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

引用自:https://unix.stackexchange.com/questions/106601