---
title: "Bash alias 與魔法"
description: "我在使用者資料夾裡有一個獨立的檔案，叫做 ~/.aliases，用來存放我所有的 bash alias。我很常用 alias，也常常新增，所以我寫了一個 bash function 來即時新增…"
canonical: https://oozou.com/til/bash-aliases-and-magic-46
locale: zh-Hant
date: 2020-10-13
topic: shell
---

# Bash alias 與魔法

> 我在使用者資料夾裡有一個獨立的檔案，叫做 ~/.aliases，用來存放我所有的 bash alias。我很常用 alias，也常常新增，所以我寫了一個 bash function 來即時新增…

Published: 2020-10-13 · Topic: [shell](https://oozou.com/zh-Hant/til-topics/shell) ([markdown](https://oozou.com/zh-Hant/til-topics/shell.md))

我在使用者資料夾裡有一個獨立的檔案，叫做 ~/.aliases，用來存放我所有的 bash alias。我很常用 alias，也常常新增，所以我寫了一個 bash function 來即時新增 alias。

```shell
addalias() {
  echo 'alias '$1'="'$2'"' >> ~/.aliases
  source ~/.aliases
}
```

現在你可以直接從終端機新增 alias，而且在目前的 session 和所有新的 session 都能使用...
*shell
$ addalias foo 'echo "bar"'*

如果我發現自己一再重複使用某些指令，我就會建立 alias
*shell
alias g='git'
alias b='bundle'
alias be='bundle exec'
alias bu='bundle update'
alias r='bin/rails'
alias rr='bin/rails routes'
alias migration='bin/rails generate migration'
alias migrate='bin/rails db:migrate; bin/rails db:migrate RAILS\_ENV=test'
alias rollback="rake db:rollback; RAILS\_ENV=test rake db:rollback"
alias push='git push origin HEAD'
alias pr='git pull-request -c -m'
alias ppr="git push origin HEAD && git pull-request -m"
alias pulls='git browse -- pulls'
alias prs='git pr list'
pull() \{
git browse -- pull/'$1'
}
alias la='ls -a'
alias ll='ls -al'*

---

Contact OOZOU: hello@oozou.com · +66 2544 0000 · https://oozou.com/zh-Hant/contact

More for AI agents: https://oozou.com/llms.txt · every page has a markdown twin at its URL plus ".md"
