File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11cd
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
2739cd # 进入用户主目录;
40+ cd / # 进入根目录
2841cd ~ # 进入用户主目录;
29- cd - # 返回进入此目录之前所在的目录 ;
42+ cd - # 显示并返回进入此目录之前所在的目录(也就是根目录) ;
3043cd .. # 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
3144cd ../.. # 返回上两级目录;
3245cd ! $ # 把上个命令的参数作为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/ -->
Original file line number Diff line number Diff line change 11exit
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(参数)
2630logout
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
5770fi
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/ -->
Original file line number Diff line number Diff line change 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/ -->
Original file line number Diff line number Diff line change 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/ -->
You can’t perform that action at this time.
0 commit comments