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.www58058.com/57584
內容比較簡單,排版比較不錯,繼續加油~