Skip to content

Commit 0aaa64b

Browse files
authored
Merge pull request jaywcjlove#132 from ZhuangZhu-74/master
更新command文件夹
2 parents a93448d + fad87b1 commit 0aaa64b

4 files changed

Lines changed: 186 additions & 25 deletions

File tree

command/cd.md

Lines changed: 59 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,81 @@
11
cd
22
===
33

4-
切换用户当前工作目录
4+
切换用户当前工作目录
55

6-
## 补充说明
7-
8-
**cd命令** 用来切换工作目录至dirname。 其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录)。另外,`~`也表示为home directory的意思,`.`则是表示目前所在的目录,`..`则表示目前目录位置的上一层目录。
9-
10-
### 语法
6+
## 概要
117

128
```shell
13-
cd (选项) (参数)
9+
cd [-L|[-P [-e]]] [dir]
1410
```
1511
16-
### 选项
12+
## 主要用途
13+
14+
- 切换工作目录至`dir`。其中`dir`的表示法可以是绝对路径或相对路径。
15+
- 若参数`dir`省略,则默认为使用者的shell变量`HOME`
16+
- 如果`dir`指定为`~`时表示为使用者的shell变量`HOME``.`表示当前目录,`..`表示当前目录的上一级目录。
17+
- 环境变量`CDPATH`是由冒号分割的一到多个目录,你可以将常去的目录的上一级加入到`CDPATH`以便方便访问它们;如果`dir``/`开头那么`CDPATH`不会被使用。
18+
- 当`shopt`选项`cdable_vars`打开时,如果`dir``CDPATH`及当前目录下均不存在,那么会把它当作变量,读取它的值作为要进入的目录。
19+
20+
## 参数
21+
22+
dir(可选):指定要切换到的目录。
23+
24+
## 选项
1725
1826
```shell
19-
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
20-
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录
21-
- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录
27+
-L (默认值)如果要切换到的目标目录是一个符号连接,那么切换到符号连接的目录。
28+
-P 如果要切换到的目标目录是一个符号连接,那么切换到它指向的物理位置目录
29+
- 当前工作目录将被切换到环境变量OLDPWD所表示的目录,也就是前一个工作目录
2230
```
2331
24-
### 实例
32+
## 返回值
33+
34+
返回状态为成功除非无法进入指定的目录。
35+
36+
## 例子
2537
2638
```shell
2739
cd # 进入用户主目录;
40+
cd / # 进入根目录
2841
cd ~ # 进入用户主目录;
29-
cd - # 返回进入此目录之前所在的目录
42+
cd - # 显示并返回进入此目录之前所在的目录(也就是根目录)
3043
cd .. # 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
3144
cd ../.. # 返回上两级目录;
3245
cd !$ # 把上个命令的参数作为cd参数使用。
3346
```
3447
48+
关于`CDPATH`
49+
50+
```shell
51+
# 设置桌面文件夹作为CDPATH的值。
52+
CDPATH='~/Desktop'
53+
# 假设我们接下来要演示涉及到的路径~和~/Desktop下没有test3文件夹,现在新建它们。
54+
mkdir ~/test3
55+
mkdir ~/Desktop/test3
56+
# 进入~目录。
57+
cd ~
58+
# 进入test3目录。
59+
cd test3
60+
# 执行后显示~/Desktop/test3并进入该目录,而不是~目录的test3目录。
61+
# 如果CDPATH存在值,那么优先在CDPATH中查找并进入第一个匹配成功的,如果全部失败那么最后尝试当前目录。
62+
```
63+
64+
关于`cdable_vars`
65+
66+
```shell
67+
# 打开选项。
68+
shopt -s cdable_vars
69+
# 假设当前路径以及CDPATH没有名为new_var的目录。
70+
new_var='~/Desktop'
71+
# 尝试进入。
72+
cd new_var
73+
# 关闭选项。
74+
shopt -u cdable_vars
75+
```
76+
77+
### 注意
78+
79+
1. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
3580
36-
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
81+
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->

command/exit.md

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
11
exit
22
===
33

4-
退出当前的shell
4+
退出当前的shell
55

6-
## 补充说明
7-
8-
**exit命令** 同于退出shell,并返回给定值。在shell脚本中可以终止当前脚本执行。执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。
9-
10-
### 语法
6+
## 概要
117

128
```shell
13-
exit(参数)
9+
exit [n]
1410
```
1511

16-
### 参数
12+
## 主要用途
13+
14+
- 执行exit可使shell以指定的状态值退出。若不设置参数,则以最后一条命令的返回值作为exit的返回值退出。
15+
16+
## 参数
17+
18+
n(可选):指定的shell返回值(整数)。
19+
20+
## 返回值
1721

18-
返回值:指定shell返回值
22+
返回值为你指定的参数n的值,如果你指定的参数大于255或小于0,那么会通过加或减256的方式使得返回值总是处于0到255之间
1923

20-
### 实例
24+
## 例子
2125

2226
退出当前shell:
2327

@@ -26,6 +30,15 @@ exit(参数)
2630
logout
2731
```
2832

33+
也可以使用`ctrl+d`退出当前终端,下面列出了打开或关闭该功能的方法:
34+
35+
```shell
36+
# 打开ctrl+d退出终端
37+
set -o ignoreeof
38+
# 关闭ctrl+d退出终端
39+
set +o ignoreeof
40+
```
41+
2942
在脚本中,进入脚本所在目录,否则退出:
3043

3144
```shell
@@ -57,5 +70,8 @@ if [ "$EXCODE" == "0" ]; then
5770
fi
5871
```
5972

73+
### 注意
74+
75+
1. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
6076

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

command/return.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
return
2+
===
3+
4+
从函数中退出并返回数值。
5+
6+
## 概要
7+
8+
```shell
9+
return [n]
10+
```
11+
12+
## 主要用途
13+
14+
- 使得shell函数退出并返回数值,如果没有指定n的值,则默认为函数最后一条命令执行的返回状态。
15+
16+
## 参数
17+
18+
n(可选):整数。
19+
20+
## 返回值
21+
22+
返回值为你指定的参数n的值,如果你指定的参数大于255或小于0,那么会通过加或减256的方式使得返回值总是处于0到255之间。
23+
24+
在函数外执行return语句会返回失败。
25+
26+
## 例子
27+
28+
```shell
29+
#!/usr/bin/env bash
30+
# 定义一个返回值大于255的函数
31+
example() {
32+
return 259
33+
}
34+
# 执行函数
35+
example
36+
# 显示3
37+
echo $?
38+
```
39+
40+
### 注意
41+
42+
1. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
43+
44+
45+
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->

command/shift.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
shift
2+
===
3+
4+
移动位置参数。
5+
6+
## 概要
7+
8+
```shell
9+
shift [n]
10+
```
11+
12+
## 主要用途
13+
14+
- 将位置参数`$n, $n+1...`重命名为`$1, $2...`
15+
16+
## 参数
17+
18+
n(可选):大于等于1且小于等于参数个数的整数,默认为1。
19+
20+
## 返回值
21+
22+
返回成功除非n大于参数个数或n小于1以及其他非法值。
23+
24+
## 例子
25+
26+
假设我们的脚本文件(test.sh)如下:
27+
28+
```shell
29+
#!/usr/bin/env bash
30+
# 显示前三个位置参数。
31+
echo "$1 $2 $3"
32+
# 移除前两个位置参数,并将$3重命名为$1,之后的以此类推。
33+
shift 2
34+
echo "$1 $2 $3"
35+
```
36+
37+
在终端执行该脚本:
38+
39+
```shell
40+
sh test.sh q w e r t
41+
```
42+
43+
返回信息如下:
44+
45+
```shell
46+
q w e
47+
e r t
48+
```
49+
50+
### 注意
51+
52+
1. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
53+
54+
55+
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->

0 commit comments

Comments
 (0)