Linux 新增自定義命令
一般來說,Shell的初始化指令碼分為2種:一種是全域性預設的,一種是使用者自己的。
全域性預設的路徑為/etc/profile在profile中,它預設會再載入/etc/bash.bashrc。
另一種使用者自己的就是$HOME目錄下的.profile它預設會載載入.bashrc檔案。
各中檔案也會載入一些其他的指令碼,這個具體視指令碼而定。
理清整個指令碼載入過程後,就動手修改,至於要在那個指令碼修改,還看個人取向,本人喜歡修改$HOME下的.bashrc。
如何新增自定義命令:
alias 命令和他英文的意思一樣,“別名”。
比如我們要新增ll = ls -l
那麼就在上述指令碼中加上一句:alias ll="ls -l"
編輯所用的 shell 配置檔案,如 bash 的 .bashrc,zsh 的 .zshrc,如加入:
alias ws="cd ~/workspace"
過載該配置檔案使更改生效,如source .bashrc。在任意位置輸入ws,即可 cd 到 workspace 目錄。
如果有很多 alias 命令,可單獨定義一個檔案存放,參考 .bashrc中 的一段說明:
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
如果有多個shell,這種方法更方便管理,只需要將這個檔案新增到各shell配置檔案中即可。
方法二:將可執行檔案目錄加入PATH
1、建立存放自定義命令的目錄,如my_cmd
2、將該目錄加入path中
編輯所用的 shell 配置檔案,如 bash 的 .bashrc,zsh 的 .zshrc,加入
PATH=$PATH:~/my_cmd
也可以將該命令新增到方法一中單獨建立的自定義命令存放檔案中
3、過載該配置檔案使更改生效,如 source .bashrc
4、將自定義的可執行程式放入 my_cmd 中,在 shell 就可以直接執行了
➜ ~ mkdir ~/my_cmd
➜ ~ vi .bashrc
➜ ~ source .bashrc
➜ ~
➜ ~ vi .zshrc
➜ ~ source .zshrc
➜ ~
方法三:綜合上述方法管理自定義命令
1、編輯所用的 shell 配置檔案,如 bash 的 .bashrc,zsh 的 .zshrc,加入:
if [ -f ~/shellrc ]; then
. ~/shellrc
fi
2、建立 shellrc,加入對 shell 配置檔案的改動,如:
PATH=$PATH:~/my_cmd
alias ws="cd ~/workspace"
簡單的命令如 alias,放入shellrc。可執行檔案放入my_cmd。