Skip to content

Commit fa3fd05

Browse files
committed
docs: edit set
1 parent 47ea461 commit fa3fd05

2 files changed

Lines changed: 36 additions & 8 deletions

File tree

docs/script.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,23 +209,21 @@ done
209209

210210
## 别名
211211

212-
`alias`命令用来为一个命令指定别名。
212+
`alias`命令用来为一个命令指定别名,这样更便于记忆。下面是`alias`的格式
213213

214214
```bash
215215
alias NAME=DEFINITION
216216
```
217217

218-
上面命令中,`Name`是别名的名称,`DEFINITION`是别名对应的原始命令。
218+
上面命令中,`Name`是别名的名称,`DEFINITION`是别名对应的原始命令。注意,等号两侧不能有空格,否则会报错。
219219

220-
下面的例子是指定`ls -ltr`命令的别名为`lt`
220+
最常见的就是为`grep`命令起一个`search`的别名
221221

222222
```bash
223-
$ alias lt='ls -ltr'
223+
alias search=grep
224224
```
225225

226-
指定别名以后,就可以像使用其他命令一样使用别名。一般来说,都会把常用的别名写在`~/.bashrc`的末尾。
227-
228-
下面是通过别名定义`today`命令的写法。
226+
`alias`也可以用来为长命令指定一个更短的别名。下面是通过别名定义`today`命令的写法。
229227

230228
```bash
231229
$ alias today='date +"%A, %B %-d, %Y"'
@@ -241,6 +239,8 @@ $ alias rm='rm -i'
241239

242240
上面命令指定`rm`命令是`rm -i`,每次删除文件之前,都会让用户确认。
243241

242+
指定别名以后,就可以像使用其他命令一样使用别名。一般来说,都会把常用的别名写在`~/.bashrc`的末尾。另外,只能为命令定义别名,为其他部分(比如很长的路径)定义别名是无效的。
243+
244244
直接调用`alias`命令,可以显示所有别名。
245245

246246
```bash

docs/set.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ $ set -o vi
280280
$ set -o emacs
281281
```
282282

283-
## 总结
283+
## set 命令总结
284284

285285
`set`命令的上面这四个参数,一般都放在一起使用。
286286

@@ -301,6 +301,34 @@ set -o pipefail
301301
$ bash -euxo pipefail script.sh
302302
```
303303

304+
## shopt 命令
305+
306+
`shopt`命令用来调整 Shell 的参数,跟`set`命令的作用很类似。主要原因是`set`是从 Ksh 继承的,属于 POSIX 规范的一部分,而`shopt`是 Bash 特有的。
307+
308+
接输入`shopt`可以查看所有参数,以及它们各自打开和关闭的状态。
309+
310+
```bash
311+
$ shopt
312+
```
313+
314+
`-s`用来打开某个参数。
315+
316+
```bash
317+
$ shopt -s optionNameHere
318+
```
319+
320+
`-u`用来关闭某个参数。
321+
322+
```bash
323+
$ shopt -u optionNameHere
324+
```
325+
326+
举例来说,`histappend`这个参数表示退出当前 Shell 时,将操作历史追加到历史文件中。这个参数默认是打开的,如果使用下面的命令将其关闭,那么当前 Shell 的操作历史将替换掉整个历史文件。
327+
328+
```bash
329+
$ shopt -u histappend
330+
```
331+
304332
## 参考链接
305333

306334
- [The Set Builtin](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html)

0 commit comments

Comments
 (0)