Linux命令 enable - 啟動或禁用shell內(nèi)建命令

2021-11-09 10:49 更新

enable

啟動或禁用shell內(nèi)建命令

概要

enable [-a] [-dnps] [-f filename] [name ...]

主要用途

  • 禁用一到多個內(nèi)建命令。
  • 啟用一到多個內(nèi)建命令。
  • 直接調(diào)用與禁用的內(nèi)建命令同名且在$PATH路徑下找到的外部命令。
  • 打印所有內(nèi)建命令,無論是否禁用。
  • 打印處于啟用狀態(tài)的內(nèi)建命令。
  • 打印處于禁用狀態(tài)的內(nèi)建命令。
  • 打印處于啟用狀態(tài)的posix標(biāo)準(zhǔn)內(nèi)建命令。
  • 打印處于禁用狀態(tài)的posix標(biāo)準(zhǔn)內(nèi)建命令。
  • 打印posix標(biāo)準(zhǔn)內(nèi)建命令,無論是否禁用。
  • 從動態(tài)庫中加載內(nèi)建命令。
  • 移除從動態(tài)庫中加載的內(nèi)建命令。

選項

-a 打印所有內(nèi)建命令,無論是否禁用。
-d 移除從動態(tài)庫中加載的內(nèi)建命令。
-n 禁用內(nèi)建命令或顯示已禁用的內(nèi)建命令。
-p 以可復(fù)用格式打印。
-s 只顯示處于啟動狀態(tài)的posix標(biāo)準(zhǔn)內(nèi)建命令。
-f 動態(tài)庫中加載內(nèi)建命令。
-ns 打印處于禁用狀態(tài)的posix標(biāo)準(zhǔn)內(nèi)建命令。
-as 打印posix標(biāo)準(zhǔn)內(nèi)建命令,無論是否禁用。

參數(shù)

filename:動態(tài)庫文件名。

name(可選):內(nèi)建命令,可以為多個。

返回值

enable返回成功,除非name不是內(nèi)建命令或有錯誤發(fā)生。

例子(以下內(nèi)容限于篇幅不再列出返回值部分)

# posix special builtin
# 假設(shè)沒有任何內(nèi)建命令被禁用
# 禁用兩個posix標(biāo)準(zhǔn)內(nèi)建命令
enable -n set source
# 打印處于禁用狀態(tài)的posix標(biāo)準(zhǔn)內(nèi)建命令
enable -ns
# 打印posix標(biāo)準(zhǔn)內(nèi)建命令,無論是否禁用。
enable -as
# 打印處于啟用狀態(tài)的posix標(biāo)準(zhǔn)內(nèi)建命令
enable -s
# 假設(shè)沒有任何內(nèi)建命令被禁用
# 禁用一到多個內(nèi)建命令
enable -n echo pwd
# 打印所有內(nèi)建命令,無論是否禁用。
enable -a
# 打印處于啟用狀態(tài)的內(nèi)建命令
enable
# 打印處于禁用狀態(tài)的內(nèi)建命令
enable -n
# 啟用一到多個內(nèi)建命令
enable pwd

Q&A

Q:請問-f,-d,-p的演示呢?

A:說明一下,-f與-d限于個人能力沒有找到合適的例子,如果您有更好的例子歡迎提pr; 經(jīng)過我驗證-p選項是否使用好像沒有區(qū)別,可以比較enable -p|cat -A和enable|cat -A 有什么區(qū)別。(注:cat -A用于顯示不可見字符)

Q:是否可以禁用enable自己?之后還能禁用或啟用內(nèi)建命令嗎?

A:可以;不能。

注意

linux shell命令執(zhí)行時,shell總是先在自己的shell builtin中查找該命令,如果找到則執(zhí)行該命令;如果找不到該命令,則會從環(huán)境變量$PATH指定的路徑中依次去查找待執(zhí)行的命令。看起來好像沒有辦法編寫用戶自己的命令來替代shell builtin命令。幸運的是,有了enable命令我們就能做到了。
  1. 關(guān)于同名命令調(diào)用的優(yōu)先級的知識,請先參考builtin命令的提示部分,然后繼續(xù)閱讀下面部分;

當(dāng)內(nèi)建命令echo沒有禁用時,如果要調(diào)用外部命令echo,只能這樣寫/usr/bin/echo;

當(dāng)我們禁用了echo后,優(yōu)先級順序變成了這樣:

函數(shù) > 外部命令

如果執(zhí)行命令的環(huán)境沒有echo函數(shù),那么調(diào)用的echo就是外部命令。

  1. 該命令是bash內(nèi)建命令,相關(guān)的幫助信息請查看 help 命令。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號