查找 shell 关键字、内置函数和用户定义函数的命令是什么?

For*_*ner 8 shell alias function command

我正在和我的朋友讨论如何在 shell 中解析命令,他告诉我 bash 按以下顺序搜索命令

  1. 别名列表
  2. shell 关键字列表
  3. 用户定义函数列表
  4. shell 内置函数列表
  5. PATH 变量中指定的目录列表,从左到右。

我知道可以通过发出alias命令来找到别名。PATH 变量内容可以使用echo $PATH命令找到。

你能告诉我我需要使用哪些命令吗?

  1. 列出所有 shell 关键字
  2. 列出所有用户定义的函数
  3. 到 shell 内置函数列表

Lri*_*Lri 6

您还可以compgenbash

  • compgen -k 列出关键字
  • compgen -benable列出内置
  • compgen -A functiondeclare -F列出函数
  • compgen -aalias列出别名
  • compgen -c 列出命令
  • compgen -v 列出变量
  • compgen -eexport列出导出的变量


l0b*_*0b0 3

在重击中:

  1. man bash | grep -10 RESERVED列出保留字:

    !case coproc do done elif else esac fi for function if in select then Until while { } time [[ ]]
  2. declare -Ftypeset -F显示函数名称而不显示其内容。

  3. enable列出内置 shell命令(我不认为这些是函数本身)。man builtins