We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 795a259 commit f6c5487Copy full SHA for f6c5487
2 files changed
docs/script.md
@@ -250,6 +250,27 @@ shift "$(($OPTIND - 1))"
250
251
变量`$OPTIND`在`getopts`开始执行前是`1`,然后每次执行就会加`1`。等到退出`while`循环,就意味着连词线参数全部处理完毕。这时,`$OPTIND - 1`就是已经处理的连词线参数个数,使用`shift`命令将这些参数移除,保证后面的代码可以用`$1`、`$2`等处理命令的主参数。
252
253
+## 参数终止符 `--`
254
+
255
+变量当作命令参数时,有时希望指定变量只能作为路径名,不能当作配置参数,这时可以使用参数终止符`--`。
256
257
+```bash
258
+$ myPath="~/docs"
259
+$ ls -- $myPath
260
+```
261
262
+上面例子中,`--`强制变量`$myPath`只能当作路径名解释。
263
264
+如果变量不是路径名,就会报错。
265
266
267
+$ myPath="-l"
268
269
+ls: 无法访问'-l': 没有那个文件或目录
270
271
272
+上面例子中,变量`myPath`的值为`-l`,不是路径。但是,`--`强制`$myPath`只能作为路径解释,导致报错“不存在该路径”。
273
274
## 别名
275
276
`alias`命令用来为一个命令指定别名,这样更便于记忆。下面是`alias`的格式。
0 commit comments