Shell
查找 shell 關鍵字、內置函式和使用者定義函式的命令是什麼?
我正在和我的朋友討論如何在 shell 中解析命令,他告訴我 bash 按以下順序搜尋命令
- 別名列表
- shell 關鍵字列表
- 使用者定義函式列表
- shell 內置函式列表
- PATH 變數中指定的目錄列表,從左到右。
我知道可以通過發出
alias
命令找到別名。可以使用echo $PATH
命令找到 PATH 變數內容。你能告訴我我需要使用哪些命令嗎?
- 列出所有 shell 關鍵字
- 列出所有使用者定義的函式
- 到 shell 內置函式列表
在 Bash 中:
man bash | grep -10 RESERVED
列出保留字:!case coproc do done elif else esac fi for function if in select then until while { } time$$ [ $$]
declare -F
並typeset -F
顯示沒有內容的函式名稱。enable
列出內置的 shell命令(我不認為這些是這樣的函式)。也是如此man builtins
您還可以
compgen
使用bash
:
compgen -k
列出關鍵字compgen -b
或enable
列出內置函式compgen -A function
或declare -F
列出函式compgen -a
或alias
列出別名compgen -c
列出命令compgen -v
列出變數compgen -e
或export
列出導出的變數