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.178linux.com/57584

(0)
N24-wenxuanN24-wenxuan
上一篇 2016-11-05
下一篇 2016-11-05

相关推荐

  • 马哥教育网络班20期+第七周博客作业

    1、创建一个10G分区,并格式为ext4文件系统     (1) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl fdisk /dev/sdbnp1110Gw[root@llww3317 ~]# mke2fs -t ext…

    Linux干货 2016-08-02
  • 压缩、解压缩及归档工具

    压缩、解压缩及归档工具 一、杂项知识整理 1、find -iname 忽略大小写;     -inum 查找指定inode号的文件;  find 在有条件判断的时候,如果不加括号,最后的命令会被当成以为第二个条件之后的:例 [root@localhost shelltest]# find&…

    Linux干货 2016-08-18
  • 三种方案实现tomcat反代服务

    要求: 分别实现这三种架构:    1、nginx + tomcat cluster    2、httpd(proxy_http_module)+tomcat cluster    3、httpd(proxy_ajp_module)+tomcat cluster;   &nbsp…

    2017-07-03
  • mysql主从复制

    MySQL主从复制        主从复制原理: mysql主从同步其实是一个异步复制的过程,要实现复制首先在master上开启bin-log日志功能。整个过程需要开启3个线程, 分别是master开启IO线程,slave开启IO线程和SQL线程. (1) 在slave服务器执行start…

    Linux干货 2016-06-26
  • 马哥教育21期网络班—第三周课程+练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who |cut -d" " -f1 |sort -u 2、取出最后登录到当前系统的用户的相关信息。 id `who | tail -n …

    Linux干货 2016-07-12
  • Linux上获取命令帮助信息及man文档划分

    1.Linux上获取命令帮助信息的多种途径 Linux上获取命令帮助信息有多种途径,但不同的命令类型获取帮助信息也有不同,Linux命令类型主要分为两种: (1)内部命令:指的是集成于Shell解释器程序(如Bash)内部的一些特殊指令,也成为内建(BuiltIN)指令。 内部命令属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运…

    Linux干货 2016-10-30

评论列表(1条)

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

    内容比较简单,排版比较不错,继续加油~