shell命令用來啟動或關閉shell內建命令。
通過type命令檢視可以知道,enable命令本身也是乙個shell內建命令。
sh-# type enable
enable is a shell builtin
使用enable命令可以檢視到當前系統中有哪些shell內建命令,
也可以確認enable是乙個shell builtin命令。
sh-# enable
enable .
enable :
enable [
enable alias
enable bind
enable break
enable builtin
enable caller
enable cd
enable command
enable compgen
enable complete
enable continue
enable declare
enable dirs
enable echo
enable enable
enable eval
enable exec
enable exit
enable export
enable false
enable fc
enable getopts
enable hash
enable help
enable history
enable kill
enable let
enable local
enable logout
enable popd
enable printf
enable pushd
enable pwd
enable read
enable readonly
enable return
enable set
enable shift
enable shopt
enable source
enable test
enable times
enable trap
enable true
enable type
enable typeset
enable ulimit
enable umask
enable unalias
enable unset
enable wait
sh-#
linux shell命令執行時,shell總是先在自己的shell builtin中查詢該命令,如果找到則執行該命令;
如果找不到該命令,則會從環境變數$path指定的路徑中依次去查詢待執行的命令。
因為了解了這一點,所以看起來好像沒有辦法編寫使用者自己的命令來替代shell builtin命令。
幸運的是,有了enable命令我們就能做到了。
我們以shell內建命令hostory命令為例進行說明。
1. 可以看到history是乙個shell builtin命令,並且也可以正常執行history命令。
sh-# type history
history is a shell builtin
sh-# history
1 type enable
2 type ooxx
3 type ooxx
4 enable -all
5 enable -all
6 enable all
7 enable
8 enable
9 enable
10 pwd
11 enable -n pwd
12 pwd
13 type
14 type pwd
15 en
16 history
2. 使用enable命令來關閉history命令。
sh-# enable -n history
sh-#
3. 通過實驗驗證,history命令真的被關閉了。
所以,使用者可以根據需求編寫自己的history命令了。
sh-# type history
sh: type: history: not found
sh-# history
sh: history: command not found
sh-#
sh-# enable
enable .
enable :
enable [
enable alias
enable bind
enable break
enable builtin
enable caller
enable cd
enable command
enable compgen
enable complete
enable continue
enable declare
enable dirs
enable echo
enable enable
enable eval
enable exec
enable exit
enable export
enable false
enable fc
enable getopts
enable hash
enable help
enable kill
enable let
enable local
enable logout
enable popd
enable printf
enable pushd
enable read
enable readonly
enable return
enable set
enable shift
enable shopt
enable source
enable test
enable times
enable trap
enable true
enable type
enable typeset
enable ulimit
enable umask
enable unalias
enable unset
enable wait
4. 被關閉的命令,仍然可以使用enable命令將其啟動。
sh-# enable history
sh-#
5. 可以看到,history命令被啟動起來了。
sh-# type history
history is a shell builtin
sh-# enable
enable .
enable :
enable [
enable alias
enable bind
enable break
enable builtin
enable caller
enable cd
enable command
enable compgen
enable complete
enable continue
enable declare
enable dirs
enable echo
enable enable
enable eval
enable exec
enable exit
enable export
enable false
enable fc
enable getopts
enable hash
enable help
enable history
enable kill
enable let
enable local
enable logout
enable popd
enable printf
enable pushd
enable read
enable readonly
enable return
enable set
enable shift
enable shopt
enable source
enable test
enable times
enable trap
enable true
enable type
enable typeset
enable ulimit
enable umask
enable unalias
enable unset
enable wait
但是我們也發現了乙個隨之而來的問題,一旦用enable命令關閉了enable命令,
那如何才能將enable命令啟動起來呢?
sh-# type enable
enable is a shell builtin
sh-# enable -n enable
sh-# enable
sh: enable: command not found
sh-# enable enable
sh: enable: command not found
linux enable命令學習
shell命令用來啟動或關閉shell內建命令。通過type命令檢視可以知道,enable命令本身也是乙個shell內建命令。sh type enable enable is a shell builtin 使用enable命令可以檢視到當前系統中有哪些shell內建命令,也可以確認enable是乙...
linux命令學習 awk 命令學習
三 awk 指令碼 四 awk 程式設計 五 寫在結尾 awk是linux上一款強大的文字分析工具,它可以將檔案逐行的讀入,然後用分割符分割開來,再對分割的各個部分進行處理。awk分割的各個部分叫做域,預設的分割符是空格和製表符。可以通過 f來指定分割符。awk有3個不同版本 awk nawk和ga...
linux命令學習 iostat 命令學習
三 一些擴充套件 參考資料 當我們要看系統io情況時,一般最先想到的應該就是iostat命令的。iostat提供了豐富的引數給我們查詢各種維度的io資料。學習iostat有助於我們排查io相關問題時可以更快的定位到問題根源。以下內容大多來自iostat的man文件,會加上部分自己的理解,英文水平好的...