如果你像我一样,你的别名中没有空格。它们都是单字的,像这样:
alias gs="git status"
alias gd="git diff "
几天前,我开始学习Elixir和Phoenix,意识到Phoenix有iex -S mix 和mix phx.server 这样的命令。我来自Ruby on Rails,我想我太习惯于rails c 和rails s ,所以我想弄清楚如何获得多字的别名。
作为别名的Shell函数
如果你仔细想想,你的.bashrc 和.zshrc 文件只是Bash脚本。我从来没有这样想过,直到今天我才知道,你可以在其中定义函数 作为别名使用。
对于几乎所有的目的来说,shell函数都比别名要好。
有了新发现的知识,这就是我如何为更多粗话的iex -S mix 和mix phx.server 命令设置别名的:
phx() {
if [[ $@ == "c" || $@ == "console" ]]; then
command iex -S mix
elif [[ $@ == "s" || $@ == "server" ]]; then
command mix phx.server
elif [[ $@ == "r" || $@ == "routes" ]]; then
command mix phx.routes
fi
}
带有空格的Bash别名
有了这个,你可以直接运行phx c 或phx console 来加载预装在你的Phoenix应用中的IEx 。或者phx s 和phx server 来启动你的Phoenix服务器;其中c,console,s,server 是phx() 函数的参数。
PS:你可以运行source /path/to/.*rc 来立即使用你的命令,而不需要重新启动你的shell,其中*rc 将是你的 "运行命令 "文件(.bashrc,.zshrc 或其他)。
这样打字和记忆都比较短和快。
编码愉快!