shell內建命令是由bash自身提供的命令,而不是檔案系統中的某個可執行檔案。
判斷乙個命令是否是內建命令可以通過type命令,如:
type cd
type date
輸出分別為:
cd is a shell builtin
date is /bin/date
可以看出cd是內建命令,而date是乙個外部檔案/bin/date。通常來說,內建命令會比外部命令執行得更快,執行外部命令時不但會觸發磁碟 i/o,還需要 fork 出乙個單獨的程序來執行,執行完成後再退出。而執行內建命令相當於呼叫當前 shell 程序的乙個函式。
下面的shell內建命令是從bourne shell繼承的。這些命令由posix標準指定來實現。
:
.
break
cd
continue
eval
exec
exit
export
getopts
hash
pwd
readonly
return
shift
test
[
times
trap
umask
uset
以下是bash中惟一的或擴充套件的內建命令。
alias
bind
builtin
caller
command
declare
echo
enable
help
let
local
logout
mapfile
printf
read
readarray
source
type
typeset
ulimit
unalias
shell內建命令
知識點1 什麼是shell內建命令?shell內建命令,就是由 bash 自身提供的命令,而不是檔案系統中的某個可執行檔案。內建命令與普通命令的性質是不一樣的,內建命令並不是某個外部檔案,只要在shell中就一定可以執行這個命令。知識點2 怎麼確定乙個命令是否是內建命令?使用type可以區分,例如c...
shell 內建命令 exec
exec 命令並不啟動新的 shell,而是用要被執行的命令替換當前的 shell 程序,並且將老程序的環境清理掉,exec 命令後的其它命令將不再執行。exec 在執行時會將當前的 shell process 關閉,然後切換到後面的命令繼續執行。在乙個 shell 中執行 exec ls,列出當前...
shell內建命令分析
輸入命令 break 跳出迴圈 builtin 執行shell builtin caller 返回當前子例程呼叫的上下文 cd 改變工作目錄,將目前工作目錄改變到指定的目錄下 command 執行簡單命令或顯示有關命令的資訊 compgen 命令自動補全,根據選項顯示可能的完成情況 complete...