交互模式下alias 擴展默認是開啓的,腳本模式下默認是關閉的 **** alias 擴展的名稱是 expand_aliasesnode
在當前session中,能夠直接在命令行執行 alias alias-name-define="xxxx"shell
好比:vim
root@pts/9 $ alias aliasTest="echo Hello world" root@pts/9 $ aliasTest Hello world
若是想要永久保存定義的alias,能夠將其寫入到 /etc/profile 或者 ~/.bash_rc 中去,兩個的區別是影響的範圍不同而已bash
root@pts/9 $ vim ~/.bash_rc root@pts/9 $ tail -1 ~/.bash_rc alias aliasTest="echo Hello world"
打開新的session 在命令行先執行source ~/.bash_rc
再執行 aliasTest
輸出一樣的結果session
先看執行的結果.net
[root@node1 ~]# ./test.sh 若是alias是在~/.bash_rc等文件中定義,須要先執行 source ~/.bash_rc 檢查默認狀況下shell腳本中是否開啓alias擴展 expand_aliases off 默認狀況下執行定義的alias ./test.sh: line 8: aliasTest: command not found shell中開啓alias擴展 shell中開啓alias擴展以後檢查 expand_aliases on shell中開啓alias擴展以後,使用alias別名 Hello world [root@node1 ~]#
再研究具體的腳本命令行
# cat test.sh echo "若是alias是在~/.bash_rc等文件中定義,須要先執行 source ~/.bash_rc" source /root/.bash_rc echo "檢查默認狀況下shell腳本中是否開啓alias擴展" shopt expand_aliases echo "默認狀況下執行定義的alias" aliasTest echo "shell中開啓alias擴展" shopt -s expand_aliases echo "shell中開啓alias擴展以後檢查" shopt expand_aliases echo "shell中開啓alias擴展以後,使用alias別名" aliasTest
help shopt
能夠查看該shell內置命令的幫助信息)Command | Desc |
---|---|
shopt -s opt_name | Enable (set) opt_name |
shopt -u opt_name | Disable (unset) opt_name |
shopt opt_name | Show current status of opt_name |