2021-05-12 14:32:11
如何建立Bash別名
您是否經常發現自己在命令列上鍵入一個長命令或在bash歷史記錄中搜尋以前鍵入的命令?如果您對這些問題的答案都是肯定的,那麼您會發現bash別名很方便。Bash別名允許您為較長的命令設定可記憶的快捷命令。
Bash別名本質上是一個快捷方式,可以使您不必記住長命令,並在使用命令列時消除大量的輸入。例如,您可以將別名設定tgz為tar -xvfz命令的快捷方式。
本文介紹如何建立bash別名,以便在命令列上提高工作效率。
建立Bash別名
在bash中建立別名非常簡單。語法如下:
alias alias_name="command_to_run"
要通過鍵入aliaskeyword 來建立新的bash別名。然後宣告別名,後跟等號和您在鍵入別名時要執行的命令。該命令需要用引號括起來,並且等號周圍沒有間距。每個別名都需要在新行上宣告。
該ls命令可能是Linux命令列中最常用的命令之一。我通常使用此命令與-la開關列出所有檔案和目錄,包括長列表格式的隱藏檔案和目錄。
讓我們建立一個名為的簡單bash別名ll,它將是ls -la命令的快捷方式。為此,請鍵入開啟終端視窗並鍵入:
alias ll="ls -la"
現在,如果您輸入ll控制台,您將獲得與輸入相同的輸出ls -la。
該ll別名將只在當前shell對談可用。如果退出對談或從另一個終端開啟新對談,則別名將不可用。
要使別名持久化,您需要在~/.bash_profile或~/.bashrc檔案中宣告它。~/.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 ~/.bash_profile
如您所見,建立簡單的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別名和函數,這將使您在命令列上的生活更輕鬆,更高效。
如果您遇到問題或有反饋,請在下面留言。
相關文章