Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update help.md #113

Merged
merged 1 commit into from
Jun 4, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 47 additions & 5 deletions command/help.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
help
===

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

## 补充说明

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

### 语法

Expand All @@ -16,12 +16,54 @@ help(选项)(参数)
### 选项

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

### 参数

内部命令:指定需要显示帮助信息的shell内部命令。
bash内建命令(可以为多个,请用空格分隔开)。

### 常见问题

Q:有哪些命令是bash内建命令?我如何判断一个命令是否为bash内建命令?

A:您可以在终端使用 'man builtin' 或 'man builtins' 来获取;您可以查看bash内建命令 'type' 的帮助信息。

Q:那么help命令本身的帮助信息如何获取?

A:把help作为参数传给help命令;)

Q:为什么echo也可以用 'man echo' 来查看帮助信息?

A:因为除了bash内建的echo,GNU/linux的coreutils包里也有该命令;在echo的man手册中,DESCRIPTION段落的 'NOTE' 也提示了和同名内建的不同。

PS:当你在shell脚本里定义了一个叫 'echo' 的函数,那么调用的时候优先级会如何呢?

```shell
#!/bin/bash
#type也是内建命令
type -t echo
echo(){
printf "123\n"
}
type -t echo
```

```shell
#输出结果
builtin
function
```

函数优先于内建命令,内建命令优先于外部命令。

Q:我需要获得更多的bash的相关帮助信息

A:限于篇幅和主题,您可以在终端执行 'man bash' , 'info bash' ,[访问bash官方网站](http://www.gnu.org/software/bash/),以及搜索引擎等。


### 实例

Expand All @@ -41,4 +83,4 @@ shopt: shopt [-pqsu] [-o long-option] optname [optname...]
```


<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->