bash的工作特性之命令執行狀態返回值和命令行展開

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

(0)
N24-wenxuanN24-wenxuan
上一篇 2016-11-05 09:14
下一篇 2016-11-05 15:22

相關推薦

  • Linux百科

    百度百科摘

    Linux干貨 2018-03-26
  • 軟件包管理–RPM YUM

    包管理器 二進制應用程序的組成部分 二進制文件,配置文件,說明文檔,庫文件 程序包管理器 Debian  deb文件  dpkg包管理器 Redhat  rpm文件  rpm包管理器                   &nbsp…

    Linux干貨 2016-08-21
  • N25_第二周

    Linux文件管理類命令 cp命令:copy 源文件;目標文件; 單源復制:cp [OPTION]… [-T] SOURCE DEST 多源復制:cp [OPTION]… SOURCE… DIRECTORY | ????? cp [OPTION]… -t DIRECTORY SOURCE……

    Linux干貨 2016-12-11
  • Ansible

    Ansible簡介 ansible是一種基于python語言開發的輕量級自動化運維工具,它可以自動化批量完成主機服務配置管理,軟件部署,執行特定命令等工作 ansible的核心組件有ansible core(核心代碼),host inventory(要管理的主機),core modules(核心模塊),custom modules(用戶可以自定義模塊),pl…

    Linux干貨 2016-11-14
  • 第三周

    第三周 1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@node1 ~]# who -q | sed -n ‘1p’ centos root fedora redhat mint 2.取出最后登錄到當前系統的用戶的相關信息。 [root@node1 ~]# who -a | tail -1 mint +…

    Linux干貨 2017-07-25
  • N22+北京+張zhangzhang+第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who | cut -d" " -f1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 id `who | cut -d" " -f1 | tail -1` 3、取出當前系統上被用戶當作其默認shell的最多的…

    Linux干貨 2016-09-05

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-10 17:16

    內容比較簡單,排版比較不錯,繼續加油~

欧美性久久久久