用alias客製化bash指令

“Alias”的意思是「別名」,藉由bash中alias這個指令可以為指令建立別名。有些可能會希望經常被使用到,卻冗長的指令可以被簡化,alias在這樣的情況中可以提供方便性。

Bash alias

最常見的alias可能就是la了,而它是ls -A的別名,可以從.bashrc裡頭找到這一段script:

1
2
3
4
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Bash function

除此之外,function 也是進一步可以簡化指令的工具,語法如下:

1
2
3
4
function_name () {
command1
command2
}

以下定義一個functionrun來簡化cmake前經常反覆輸入的幾行script:

1
2
3
4
5
6
run () {
rm -rf build
mkdir build
cd build
cmake ..
}

如此一來即可以run代替四行的指令。

  • 以上的更動皆需要透過source ~/.bashrc(重新執行.bashrc)來讓新加入的指令被識別,重新開terminal也能達到相同的目的。

.bash_aliases

雖然可以將所有的aliases在.bashrc中做定義,但如此一來許多東西都會雜在一起。為了更有效的做後續的修改及管理aliases,可以將aliases在.bash_aliases中做定義,作法上與前面在.bashrc的方法相同。

需要確保的是在.bashrc中可以找到以下的script,如果沒有的話則可以手動加入:

1
2
3
if [ -f ~/.bash_aliases ]; then #如果.bash_aliases檔案存在
. ~/.bash_aliases #執行.bash_aliases
fi

在我們每次開啟terminal時,.bashrc就會被執行,而.bash_aliases也因上方的script在terminal開啟時被執行。