Skip to content

Commit fc454f4

Browse files
ZhuangZhu-74jaywcjlove
authored andcommitted
Update help.md (jaywcjlove#113)
补充并丰富了该文档的信息,增加了Q&A部分
1 parent d3c735d commit fc454f4

1 file changed

Lines changed: 47 additions & 5 deletions

File tree

command/help.md

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
help
22
===
33

4-
显示帮助信息
4+
该命令是bash内建命令,用于显示bash内建命令的帮助信息。
55

66
## 补充说明
77

8-
**help命令** 用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。
8+
**help命令** help命令只能显示bash内建命令的帮助信息,而对于外部命令的帮助信息只能使用man或者info命令查看。
99

1010
### 语法
1111

@@ -16,12 +16,54 @@ help(选项)(参数)
1616
### 选项
1717

1818
```shell
19-
-s:输出短格式的帮助信息。仅包括命令格式。
19+
-d:显示内建命令的简要描述。
20+
-m:按照man手册的格式输出内建命令的帮助信息。
21+
-s:仅输出内建命令的命令格式。
22+
不指定选项时:输出的帮助信息类似于-m选项,但是缺少段落名称和'SEE ALSO''IMPLEMENTATION'部分。
2023
```
2124

2225
### 参数
2326

24-
内部命令:指定需要显示帮助信息的shell内部命令。
27+
bash内建命令(可以为多个,请用空格分隔开)。
28+
29+
### 常见问题
30+
31+
Q:有哪些命令是bash内建命令?我如何判断一个命令是否为bash内建命令?
32+
33+
A:您可以在终端使用 'man builtin' 或 'man builtins' 来获取;您可以查看bash内建命令 'type' 的帮助信息。
34+
35+
Q:那么help命令本身的帮助信息如何获取?
36+
37+
A:把help作为参数传给help命令;)
38+
39+
Q:为什么echo也可以用 'man echo' 来查看帮助信息?
40+
41+
A:因为除了bash内建的echo,GNU/linux的coreutils包里也有该命令;在echo的man手册中,DESCRIPTION段落的 'NOTE' 也提示了和同名内建的不同。
42+
43+
PS:当你在shell脚本里定义了一个叫 'echo' 的函数,那么调用的时候优先级会如何呢?
44+
45+
```shell
46+
#!/bin/bash
47+
#type也是内建命令
48+
type -t echo
49+
echo(){
50+
printf "123\n"
51+
}
52+
type -t echo
53+
```
54+
55+
```shell
56+
#输出结果
57+
builtin
58+
function
59+
```
60+
61+
函数优先于内建命令,内建命令优先于外部命令。
62+
63+
Q:我需要获得更多的bash的相关帮助信息
64+
65+
A:限于篇幅和主题,您可以在终端执行 'man bash' , 'info bash' ,[访问bash官方网站](http://www.gnu.org/software/bash/),以及搜索引擎等。
66+
2567

2668
### 实例
2769

@@ -41,4 +83,4 @@ shopt: shopt [-pqsu] [-o long-option] optname [optname...]
4183
```
4284
4385
44-
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
86+
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->

0 commit comments

Comments
 (0)