列出所有Bash Shell内置命令的方法示例

前言

Shell有很多内置在其源代码中的命令。这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快。不同的Shell内置命令有所不同。

内置命令包含在 bash shell 本身里面。我该如何在 Linux / Apple OS X / *BSD / Unix 类操作系统列出所有的内置 bash 命令,而不用去读大篇的 bash 操作说明页?

shell 内置命令就是一个命令或一个函数,从 shell 中调用,它直接在 shell 中执行。 bash shell 直接执行该命令而无需调用其他程序。你可以使用 help 命令查看 Bash 内置命令的信息。以下是几种不同类型的内置命令。

内置命令的类型

  • Bourne Shell 内置命令:内置命令继承自 Bourne Shell。
  • Bash 内置命令:特定于 Bash 的内置命令表。
  • 修改 Shell 行为:修改 shell 属性和可选行为的内置命令。
  • 特别的内置命令:由 POSIX 特别分类的内置命令。

如何查看所有 bash 内置命令

有以下的命令:

$ help
$ help | less
$ help | grep read 

样例输出:

GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally. Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.

A star (*) next to a name means that the command is disabled.

 job_spec [&]              history [-c] [-d offset] [n] or hist>
 (( expression ))            if COMMANDS; then COMMANDS; [ elif C>
 . filename [arguments]         jobs [-lnprs] [jobspec ...] or jobs >
 :                    kill [-s sigspec | -n signum | -sigs>
 [ arg... ]               let arg [arg ...]
 [[ expression ]]            local [option] name[=value] ...
 alias [-p] [name[=value] ... ]     logout [n]
 bg [job_spec ...]            mapfile [-n count] [-O origin] [-s c>
 bind [-lpvsPVS] [-m keymap] [-f filen> popd [-n] [+N | -N]
 break [n]                printf [-v var] format [arguments]
 builtin [shell-builtin [arg ...]]    pushd [-n] [+N | -N | dir]
 caller [expr]              pwd [-LP]
 case WORD in [PATTERN [| PATTERN]...)> read [-ers] [-a array] [-d delim] [->
 cd [-L|-P] [dir]            readarray [-n count] [-O origin] [-s>
 command [-pVv] command [arg ...]    readonly [-af] [name[=value] ...] or>
 compgen [-abcdefgjksuv] [-o option] > return [n]
 complete [-abcdefgjksuv] [-pr] [-DE] > select NAME [in WORDS ... ;] do COMM>
 compopt [-o|+o option] [-DE] [name ..> set [--abefhkmnptuvxBCHP] [-o option>
 continue [n]              shift [n]
 coproc [NAME] command [redirections]  shopt [-pqsu] [-o] [optname ...]
 declare [-aAfFilrtux] [-p] [name[=val> source filename [arguments]
 dirs [-clpv] [+N] [-N]         suspend [-f]
 disown [-h] [-ar] [jobspec ...]     test [expr]
 echo [-neE] [arg ...]          time [-p] pipeline
 enable [-a] [-dnps] [-f filename] [na> times
 eval [arg ...]             trap [-lp] [[arg] signal_spec ...]
 exec [-cl] [-a name] [command [argume> true
 exit [n]                type [-afptP] name [name ...]
 export [-fn] [name[=value] ...] or ex> typeset [-aAfFilrtux] [-p] name[=val>
 false                  ulimit [-SHacdefilmnpqrstuvx] [limit>
 fc [-e ename] [-lnr] [first] [last] o> umask [-p] [-S] [mode]
 fg [job_spec]              unalias [-a] name [name ...]
 for NAME [in WORDS ... ] ; do COMMAND> unset [-f] [-v] [name ...]
 for (( exp1; exp2; exp3 )); do COMMAN> until COMMANDS; do COMMANDS; done
 function name { COMMANDS ; } or name > variables - Names and meanings of so>
 getopts optstring name [arg]      wait [id]
 hash [-lr] [-p pathname] [-dt] [name > while COMMANDS; do COMMANDS; done
 help [-dms] [pattern ...]        { COMMANDS ; }

另外一种选择是使用下列命令:

compgen -b
compgen -b | more

查看 Bash 的内置命令信息

运行以下得到详细信息:

help command
help read

要仅得到所有带简短描述的内置命令的列表,执行如下:

$ help -d

查找内置命令的语法和其他选项

使用下列语法去找出更多的相关内置命令:

help name
help cd
help fg
help for
help read
help :

样例输出:

:: :
 Null command.

 No effect; the command does nothing.

 Exit Status:
 Always succeeds

找出一个命令是内部的(内置)还是外部的

使用 type 命令或 command 命令:

type -a command-name-here
type -a cd
type -a uname
type -a :
type -a ls

或者:

type -a cd uname : ls uname

样例输出:

cd is a shell builtin
uname is /bin/uname
: is a shell builtin
ls is aliased to `ls --color=auto'
ls is /bin/ls
l is a function
l ()
{
 ls --color=auto
}

或者:

command -V ls
command -V cd
command -V foo


View list bash built-ins command info on Linux or Unix

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

您可能感兴趣的文章:

  • bash shell命令行选项与修传入参数处理
  • Bash Shell中的select命令简单使用示例
  • shell(bash)下“time” 命令的输出详解
(0)

相关推荐

  • bash shell命令行选项与修传入参数处理

    在编写shell程序时经常需要处理命令行参数,本文描述在bash下的命令行处理方式.选项与参数:如下命令行:   复制代码 代码如下: ./test.sh -f config.conf -v --prefix=/home -f为选项,它需要一个参数,即config.conf, -v 也是一个选项,但它不需要参数.--prefix我们称之为一个长选项,即选项本身多于一个字符,它也需要一个参数,用等号连接,当然等号不是必须的,/home可以直接写在--prefix后面,即--prefix/home,

  • shell(bash)下“time” 命令的输出详解

    前言 相信大家都知道bash下time是一个很有用的命令,它可以为一段脚本或一个程序的执行计时,这通常在粗略比较程序执行效率的时候很方便.但是你会发现,time命令输出的时间文字不能被简单地重定向,例如重定向至一个文本文件,只能显示在屏幕上,这对于非交互计时很不方便. 例如: $ time find . -name "mysql.sh" >1.txt real 0m0.081s user 0m0.060s sys 0m0.020s $ time find . -name &quo

  • Bash Shell中的select命令简单使用示例

    前言 今天刚好写了一个自动化打包脚本,再次使用到了bash shell,好幸福的感觉.这里主要是想介绍一下select命令,这个命令可以帮助我们完成菜单选择功能. 格式 我今天也是第一次使用select流程控制,在php.Java.C这些语言中并没有实现select功能.Bash Shell中,select格式如下: select $var in ${list[@]} do statements that can use $var done 在select执行时,会根据list数组给出选择菜单,

  • 列出所有Bash Shell内置命令的方法示例

    前言 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. 内置命令包含在 bash shell 本身里面.我该如何在 Linux / Apple OS X / *BSD / Unix 类操作系统列出所有的内置 bash 命令,而不用去读大篇的 bash 操作说明页? shell 内置命令就是一个命令或一个函数,从 shell 中调用,它直接在 shell 中执行. bash shell 直接执行该命令

  • Shell内置命令之exit的语法与实例

    目录 介绍: 语法: exit应用场景 实例 需求: 步骤: 演示 小结 附:exit后缀数字功能 总结 介绍: exit 用于退出当前shell环境进程结束运行,并且可以返回一个状态码.一般使用$?可以获取状态码. 语法: 正确退出语法 exit #默认返回状态码0 ,一般代表命令执行成功 错误退出语法 exit 非0数字 #数字建议的范围0-255 一般代表命令执行失败 exit应用场景 1.结束当前shell进程 2.当shell进程执行出错退出时,可以返回不同的状态值代表不同的错误. 比

  • Shell内置命令教程之alias和echo

    目录 1:alias设置别名 1.理解内置命令的含义 2.能够使用alias内置命令进行给命令定义别名 3.alias命令行上的使用举例 2:echo输出字符串 1.能够echo输出不换行的字符串 2.能够使用echo输出转义字符 总结 1:alias设置别名 1.理解内置命令的含义 就是Shell内部提供的命令,可以直接使用 内置命令与外部的脚本文件执行区别 内置命令: ①:执行速度快,内置命令执行是当前shell环境的一部分,就在当前进程内执行,减少上下文切换 外部的脚本文件: ①:执行速度

  • Bash脚本内置的调试方法技巧

    用 Bash 写的脚本也可以进行调试,和 Python,Perl 等解释型语言一样.新建一个名为 servinfo 的脚本并增加可执行权限: 复制代码 代码如下: $ vi servinfo #!/bin/bash echo "Hostname: $(hostname)" echo "Date: $(date)" echo "Kernel: $(uname -mrs)" $ chmod +x servinfo 用 bash -x 来调试上述脚本,

  • linux shell内置判断语句

    内置判断,成功的时候返回0,不成功返回非零 test  判断表达式 [ 判断表达式 ]       注意前后必须留空格哦 数值运算 -eq   等于 -ne   不等于 -gt     大于 -ge    大于等于 -lt 小于 -le 小于等于 字符串运算 =  等于 != 不等于 -z   是否为空 -n 是否不为空 文件运算 -r  是否存在并可读 -w 是否存在并可写 -x 是否存在并可执行 -f 是否存在此文件 -d 是否存在此目录 总结 以上所述是小编给大家介绍的linux shel

  • bash shell 自定义函数命令持久化生效问题

    目录 1. 背景 2. 登陆shell时读取命令的流程 2.1 /etc/profile 2.2 $HOME目录下的启动文件流程 3. 在命令行上使用函数 3.1 在.bashrc 文件中定义函数 3.1.1 直接定义函数 3.1.2 读取函数文件 4. 验证 1. 背景 每次登陆shell 遇到需要敲一行命令来查看一个问题或者升级一个应用时就感觉很麻烦,可以考虑将函数放到特定的位置,这样每次登陆shell时就会重新载入. 2. 登陆shell时读取命令的流程 当你登录Linux系统时,bash

  • python3 面向对象__类的内置属性与方法的实例代码

    0.object类源码 class object: """ The most base type """ def __delattr__(self, *args, **kwargs): # real signature unknown """ Implement delattr(self, name). """ pass def __dir__(self): # real signatu

  • ES6的内置对象扩展实现示例

    目录 一.Array的扩展方法 1.扩展运算符(展开语法) 2.扩展运算符的应用 1.合并数组 2. 将伪数组转换为真正的数组 3.构造函数方法:Array.from() 4.实例方法 :find() 5.findIndex() 6.includes() 一.Array的扩展方法 1.扩展运算符(展开语法) 扩展运算符可以将数组或者对象转换为逗号分隔的参数序列 let ary = [1,2,3]; ...ary //1,2,3 console.log(...ary); //1 2 3 //con

  • TypeScript 内置高级类型编程示例

    目录 TypeScript 类型编程 TypeScript 内置高级类型 Pick<Type, Keys> Exclude<UnionType, ExcludedMembers> ReturnType<Type> 更多类型体操学习 TypeScript 类型编程 TypeScript 的类型系统,最基本的是简单对应 JavaScript 的 基本类型,比如 string.number.boolean 等,然后是新增的 tuple.enum.复合类型.交叉类型.索引类型等

  • Elasticsearch Analyzer 内置分词器使用示例详解

    目录 前置知识 1.Analyzer 2.Elasticsearch 内置分词器 3. Standard Analyzer 3.1 Definition 3.2 Configuration 3.3 实验 4. Simple Analyzer 4.1 Definition 4.2 Configuation 4.3 实验 5. Stop Analyzer 5.1 Definition 5.2 Configuration 5.3 实验 6. Whitespace Analyzer 6.1 Defini

随机推荐