bash的工作特性之命令执行状态返回值和命令行展开
执行状态返回值
Linux下每一条命令或每一个进程执行完成会返回一个状态码.
0:成功执行
1-255:执行过程中出现异常或非正常退出
在Shell脚本中,最后执行的一条命令将决定整个shell脚本的状态.
此外,shell的内部命令exit也可以随时终止shell脚本的执行,并返回Shell脚本的状态码.
当shell脚本执行结束前的最后一个命令是不带参数的exit ,那么 shell脚本的最终返回值就是exit语句前一条语句的返回值,根据这个值可以判断脚本成功执行与否.
$? 可以查看最后一条命令的返回值,该变量可以在shell 脚本中的任何地方使用.
例如返回上一个命令的执行状况
1.[root - gwx-st ~]#>ehco $?
2.-bash: ehco: command not found
3.[root - gwx-st ~]#>echo $?
4.127
5.[root - gwx-st ~]#>echo $?
6.0
7.
命令行展开
bash中可以使用{}来对其中的内容展开后分别进行操作。
例如:
/tmp/{x,y} 相当于/tmp/x和/tmp/y
下面我们使用命令行展开功能在/tmp/sysroot下创建FHS
1.[root - gwx-st ~]#>\tree /tmp/sysroot/
2./tmp/sysroot/
3.
4.0 directories, 0 files
5.[root - gwx-st ~]#>mkdir -p /tmp/sysroot/{bin,boot/grub,dev,lib/modules,etc/{rc.d/init.d/,sysconfig/network-scripts},lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
6.[root - gwx-st ~]#>\tree /tmp/sysroot/
7./tmp/sysroot/
8.|-- bin
9.|-- boot
10.| `-- grub
11.|-- dev
12.|-- etc
13.| |-- rc.d
14.| | `-- init.d
15.| `-- sysconfig
16.| `-- network-scripts
17.|-- lib
18.| `-- modules
19.|-- lib64
20.|-- proc
21.|-- sbin
22.|-- sys
23.|-- tmp
24.|-- usr
25.| `-- local
26.| |-- bin
27.| `-- sbin
28.`-- var
29. |-- lock
30. |-- log
31. `-- run
32.
33.24 directories, 0 files
34.
原创文章,作者:N24-wenxuan,如若转载,请注明出处:http://www.178linux.com/57584
评论列表(1条)
内容比较简单,排版比较不错,继续加油~