bash之命令執行的順序
一般來說,在shell提示符號下輸入的指令再按下enter後
系統會依以下的順序來找到命令再去執行,執行完成即結束
1.以絕對(相對)路徑表示的命令
e.g.,
$ /bin/ls
2.以alias別名裡有設定的名稱
e.g.,
$ alias
alias mv='mv -i'
alias rm='rm -i'
alias cp='cp -i'
alias telnet='/usr/bin/telnet-ssl -8'
3.在function裡有定義的函數名稱
e.g.,
(定義一個function,名稱CatPasswd)
$ CatPasswd (){ cat /etc/passwd; }
$ CatPasswd | head -n1
root:x:0:0:root:/root:/bin/bash
4.在shell裡面的內建命令
e.g.,
$ cd
$ exit
$ type
(可以用type這個builtin command來判斷)
$ type cd
cd is a shell builtin
$ type exit
exit is a shell builtin
$ type echo
echo is a shell builtin
(其實echo指令有內建命令和外部命令兩種)
(要執行外部命令的echo要用明確路徑/bin/echo的方式)
5.PATH環境變數裡指定的路徑
就是你打echo $PATH命令所顯示出來的那些路徑啦
當你打的命令在上面4個都找不到的情況下,就會往這些path路徑裡找
最後,如果bash都找不到的話,就會跟你說command not found

Recommend to Front page
fvalinux 




Comment Permissions: Allow commenting