1 | builtin
|
2 | ===
|
3 |
|
4 | 执行bash内建命令。
|
5 |
|
6 | ## 概要
|
7 |
|
8 | ```shell
|
9 | builtin [shell-builtin [arg ...]]
|
10 | ```
|
11 |
|
12 | ## 主要用途
|
13 |
|
14 | - 用于执行指定的bash内建命令。
|
15 | - `builtin`命令调用的bash内建命令优先于同名的外部命令及同名的shell函数。
|
16 |
|
17 | ## 参数
|
18 |
|
19 | shell-builtin(可选):要调用的bash内建命令。
|
20 |
|
21 | arg(可选):传递给bash内建命令的一到多个参数。
|
22 |
|
23 | ## 返回值
|
24 |
|
25 | 返回该内建命令执行的返回值,除非传递的不是bash内建命令或该内建命令被禁用。
|
26 |
|
27 | ## 例子
|
28 |
|
29 | 同名情况下的优先级顺序:
|
30 |
|
31 | builtin 内建命令 > 函数 > 内建命令 > 外部命令
|
32 |
|
33 | ```shell
|
34 | # 关于外部命令优先级最高的情况请参考enable命令。
|
35 | # 此时内建命令优先使用
|
36 | echo "the Great Wall"
|
37 | # 调用内建命令type,返回命令的类型(builtin)
|
38 | type -t echo
|
39 | # 定义 echo 函数
|
40 | echo(){
|
41 | printf "123\n"
|
42 | }
|
43 | # 此时同名函数优先使用,显示(123)
|
44 | echo
|
45 | # 调用内建命令type,返回命令的类型(function)
|
46 | type -t echo
|
47 | # 此时内建命令优先使用
|
48 | builtin echo -e "backslash \\"
|
49 | ```
|
50 |
|
51 | ```shell
|
52 | # 执行shell内部指令,输出当前系统下的命令别名
|
53 | builtin alias
|
54 | alias cp='cp -i'
|
55 | alias l.='ls -d .* --color=tty'
|
56 | alias ll='ls -l --color=tty'
|
57 | alias ls='ls --color=tty'
|
58 | alias mv='mv -i'
|
59 | alias rm='rm -i'
|
60 | alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
61 | ```
|
62 |
|
63 | ### 注意
|
64 |
|
65 | 1. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
|
66 |
|
67 | 2. 如果要调用的内建命令被禁用了(包括`builtin`),那么执行会报错;关于禁用和启用内建命令请参考`enable`命令。
|
68 |
|
69 |
|
70 |
|