如何創建Bash別名

您是否經常發現自己在命令行上鍵入了一個長命令,或者在bash歷史記錄中搜索了先前鍵入的命令? 如果您對這些問題中的任何一個的回答為“是”,那麼您將發現bash別名很方便。 Bash別名使您可以為較長的命令設置一個令人難忘的快捷方式命令。

Bash別名實際上是快捷方式,可以使您不必記住長命令,並且在使用命令行時無需進行大量鍵入操作。 例如,您可以設置別名 tgz 成為 tar -xvfz 命令。

本文介紹了如何創建bash別名,以便您可以在命令行上提高工作效率。

創建Bash別名

在bash中創建別名非常簡單。 語法如下:

alias alias_name="command_to_run"

別名聲明以 alias 關鍵字,後跟別名名稱,等號以及鍵入別名時要運行的命令。 該命令需要用引號引起來,並且等號之間不能有空格。 每個別名都需要在新行中聲明。

ls command可能是Linux命令行上最常用的命令之一。 我通常將此命令與 -la 切換以列出所有文件和目錄,包括長列表格式的隱藏文件和目錄。

讓我們創建一個簡單的bash別名,名稱為 ll 這將是 ls -la 命令。 為此,請打開終端窗口並鍵入:

alias ll="ls -la"

現在,如果您輸入 ll 在終端中,您將獲得與輸入相同的輸出 ls -la

ll 別名僅在當前的shell會話中可用。 如果退出會話或從另一個終端打開新會話,則別名將不可用。

要使別名持久化,您需要在 ~/.bash_profile 要麼 ~/.bashrc 文件。

在文本編輯器中打開文件:

nano ~/.bashrc

並添加別名:

〜/ .bashrc

# Aliases
# alias alias_name="command_to_run"

# Long format list
alias ll="ls -la"

# Print my public IP
alias myip='curl ipinfo.io/ip'

別名的命名方式應易於記憶。 還建議添加評論以供將來參考。

完成後,保存並關閉文件。 通過輸入以下命令使別名在當前會話中可用:

source ~/.bashrc

如您所見,創建簡單的bash別名既快捷又容易。

如果你想做你的 .bashrc 更模塊化的是,您可以將別名存儲在單獨的文件中。 某些發行版(例如Ubuntu和Debian)包括 .bash_aliases 文件,該文件來自 ~/.bashrc

使用參數創建Bash別名(Bash函數)#

有時您可能需要創建一個接受一個或多個參數的別名。 這就是bash函數派上用場的地方。

創建bash函數的語法非常簡單。 可以用兩種不同的格式聲明它們:

function_name () {
  [commands]
}

要麼

function function_name {
  [commands]
}

要簡單地將任意數量的參數傳遞給bash函數,請將其放在函數名稱之後,並以空格分隔。 傳遞的參數是 $1$2$3等等,與函數名稱後的參數位置相對應。 的 $0 變量是為函數名稱保留的。

讓我們創建一個簡單的bash函數,該函數將創建一個目錄,然後導航到其中:

〜/ .bashrc

mkcd ()
{
  mkdir -p -- "$1" && cd -P -- "$1"
}

與別名相同,將功能添加到您的 ~/.bashrc 歸檔並運行 source ~/.bash_profile 重新加載文件。

現在,而不是使用 mkdir 創建一個新目錄,然後 cd 要移至該目錄,只需鍵入:

mkcd new_directory

如果你想知道是什麼 --&& 這是一個簡短的解釋。

  • -- -確保您不會意外將額外的參數傳遞給命令。 例如,如果您嘗試創建以以下內容開頭的目錄 - (破折號)而不使用 -- 目錄名稱將被解釋為命令參數。
  • && -確保僅在第一個命令成功時才運行第二個命令。

結論#

到目前為止,您應該對如何創建bash別名和函數有很好的了解,這些別名和函數將使您在命令行上的生活更輕鬆,更高效。

如果您有任何疑問或反饋,請隨時發表評論。

bash終端

Sidebar