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 09:14
下一篇 2016-11-05 15:22

相关推荐

  • 文件查找与压缩

    文件查找与压缩   Locate:非事实查找(数据库查找)     查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 依赖于事先构建的索引; 索引的构建是在系统较为空闲时自动进行(周期性任务); 管理 员手动更新数据库(updatedb);   工作特点: 查找…

    Linux干货 2016-08-18
  • N25-第六周作业

    第六周 请详细总结vim编辑器的使用并完成以下练习题 文本编辑器: vim:     模式化的编辑器         基本模式:          &…

    Linux干货 2016-12-28
  • 那些年我们一起追过的缓存写法(三)

    原文出处: 蘑菇先生    上次我们说了多级缓存,本章详细介绍下内存缓存该如何设计。 一:分析设计 假设有个项目有一定并发量,要用到多级缓存,如下: 在实际设计一个内存缓存前,我们需要考虑的问题: 1:内存与Redis的数据置换,尽可能在内存中提高数据命中率,减少下一级的压力。 2:内存容量的限制,需要控制缓存数量。 3:热点数…

    Linux干货 2015-03-04
  • N26-上海-莫言

    持续更新…

    Linux干货 2016-12-26
  • 网络接口配置-bonding

    bonding      就是将多块网卡绑定同一个IP地址对外提供服务,可以实现高可用或是负载均衡,当 然,直接给两块网卡设置同一个IP地址是不可能的,通过bonding,虚拟一块网卡对外提供链接,这样即使一块网卡坏了可以经行自动切换,而不会影响业务的正常的通信 Bonding的工作模式 mode 0 轮转(…

    Linux干货 2016-09-05
  • LAMP快速部署及LAMP组合深入讲解-1

      lamp php php: 脚本编程语言、嵌入到html中的嵌入式web程序开发语言;基于zend编译成opcode(二进制格式的字节码,重复运行,可省略编译环境) 一、PHP简介 PHP是通用服务器端脚本编程语言,其主要用于web开发以实现动态web页面,它也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时,php还提供了一…

    Linux干货 2017-06-04

评论列表(1条)

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

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