如何使別名在其他終端上工作

如何使別名在其他終端上工作

基本上我創建了一個別名

alias 1="python /root/sqlmap-dev/sqlmap.py"

當我輸入 1 時,它工作得很好,但如果我打開另一個終端並再次輸入 1 。它無法辨識別名!

那麼如何讓別名隨處可用呢?

答案1

別名特定於定義它們的會話。幸運的是,有一個機制可以做到這一點:每次新的終端會話開始時它都會執行相同的操作。

~/.bashrc每次您(您的使用者帳戶)開啟新的終端會話時都會執行該檔案。請注意,它的名稱以句點開頭,因此它是一個隱藏檔案。確保在文件瀏覽器中顯示隱藏文件(可能通過Ctrl + H)。~/.bashrc通常用於定義別名或 bash 函數等內容。

然而,這並不意味著您應該在那裡定義它。在 Debian 及其衍生性商品如 Ubuntu(及其衍生性商品如 Kubuntu、Lubuntu、Mythbuntu、Ubuntu Budgie、Ubuntu GNOME、Ubuntu Kylin、Ubuntu MATE、Ubuntu Studio、Xubuntu 等)、Deepin、Whonix 等上,使用者自訂 bash別名通常儲存在~/.bash_aliasas大多數系統上預設不存在的位置,因此如果您使用其中之一,請繼續建立它。如果存在,則會自動呼叫它。

如果您的系統沒有自動呼叫該文件,您仍然可以定義 bash 別名(可以有很多別名!例如很多很多!我的主機的主帳戶上有大約 60 個帳戶,並且不希望它們僅位於我的~/.bashrc.) 中的某個專用位置。只需將這些行添加到您的~/.bashrc

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

請注意,當您開始終端會話。對該檔案的變更不會追溯應用於開啟的終端會話,這表示您無法在定義/修改該檔案中的別名之前開啟的終端機中使用新定義的 bash 別名。

答案2

問題在於alias=...您為目前 shell 會話建立別名的命令,因此您必須為啟動的每個新會話(即每次開啟終端時)定義別名。

若要使別名持久存在,請將定義放入 shell 的設定檔中,例如~/.bashrcbash。

答案3

將其放入 shell 的設定檔中,例如~/.profile.

相關內容