Bash的基础特性之命令执行状态返回值和命令行展开

Bash的基础特性之命令的执行状态

Linux的命令执行结果状态有两种,分别为:
1、成功
2、失败
bash使用特殊变量 $? 保存最近一条命令的执行状态结果
使用echo $? 命令来查看命令执行状态返回值:
0:成功
1-255:失败

示例:
        [root@localhost tmp]# echo$?
        -bash: echo127: 未找到命令
        [root@localhost tmp]# echo $?
        127
        [root@localhost tmp]# echo $?
        0

Bash的基础特性之命令行展开

以某些bash能够解释的符号来代替命令中的某些参数:
~:展开为用户的家目录
~USERNAME:展开为制定用户的家目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径:
如: /tmp/{a,b}=/tmp/a,/tmp/b
  /tmp/{tom,jerry}/h1=/tmp/tom/h1,/tmp/jerry/h1

使用示例:
        创建/tmp目录下的test1和test2
        [root@localhost ~]# mkdir -v /tmp/{test1,test2}
        mkdir: 已创建目录 "/tmp/test1"
        mkdir: 已创建目录 "/tmp/test2"

命令行展开功能练习:

1、创建/tmp目录下的:a_c, a_d, b_c, b_d

    [root@localhost ~]# mkdir -v /tmp/{a,b}_{c,d}
    mkdir: 已创建目录 "/tmp/a_c"
    mkdir: 已创建目录 "/tmp/a_d"
    mkdir: 已创建目录 "/tmp/b_c"
    mkdir: 已创建目录 "/tmp/b_d"

2、创建/tmp/mylinux目录下的:

qq.png

命令如下:
[root@localhost ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig,network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/{local,bin,sbin},var/{lock,log,run}}
mkdir: 已创建目录 "/tmp/mylinux"
mkdir: 已创建目录 "/tmp/mylinux/bin"
mkdir: 已创建目录 "/tmp/mylinux/boot"
mkdir: 已创建目录 "/tmp/mylinux/boot/grub"
mkdir: 已创建目录 "/tmp/mylinux/dev"
mkdir: 已创建目录 "/tmp/mylinux/etc"
mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d"
\mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d"
mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig"
mkdir: 已创建目录 "/tmp/mylinux/etc/network-scripts"
mkdir: 已创建目录 "/tmp/mylinux/lib"
mkdir: 已创建目录 "/tmp/mylinux/lib/modules"
mkdir: 已创建目录 "/tmp/mylinux/lib64"
mkdir: 已创建目录 "/tmp/mylinux/proc"
mkdir: 已创建目录 "/tmp/mylinux/sbin"
mkdir: 已创建目录 "/tmp/mylinux/sys"
mkdir: 已创建目录 "/tmp/mylinux/tmp"
mkdir: 已创建目录 "/tmp/mylinux/usr"
mkdir: 已创建目录 "/tmp/mylinux/usr/local"
mkdir: 已创建目录 "/tmp/mylinux/usr/bin"
mkdir: 已创建目录 "/tmp/mylinux/usr/sbin"
mkdir: 已创建目录 "/tmp/mylinux/var"
mkdir: 已创建目录 "/tmp/mylinux/var/lock"
mkdir: 已创建目录 "/tmp/mylinux/var/log"
mkdir: 已创建目录 "/tmp/mylinux/var/run"
[root@localhost ~]# tree /tmp/mylinux/
/tmp/mylinux/
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── network-scripts
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
├── lib
│   └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│   ├── bin
│   ├── local
│   └── sbin
└── var
    ├── lock
    ├── log
    └── run

 

原创文章,作者:641348038@qq.com,如若转载,请注明出处:http://www.178linux.com/57346

(0)
641348038@qq.com641348038@qq.com
上一篇 2016-11-04 14:51
下一篇 2016-11-04 16:13

相关推荐

  • Linux的初步认识

         Linux的哲学思想 (1)一切都是一个文件(包括硬件) (2)小型,单一用途的程序 (3)链接程序,共同完成复杂的任务 (4)避免令人困惑的用户界面 (5)配置数据储存在文本中 1.Linux分为普通用户和root用户 普通用户:权利非常有限对系统的损害比较小 root用户:被称作为超级用户,对系统接近完整的控制,对…

    2017-05-20
  • 第五周

    显示/boot/grub/grub.conf中以至少一个空白字符开头的行 egrep "^[[:space:]]+" /boot/grub/grub.conf 显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行 egrep "^#[[:…

    Linux干货 2016-09-19
  • varnish4 基础实战

    实验环境 node1 192.168.0.8 varnish服务器 node2 192.168.0.3 动态web node3 192.168.0.7 静态web node1安装varnish ##安装varnish yum源  # wget http://repo.varnish-cache.org/redhat/v…

    Linux干货 2016-11-15
  • Git 分布式 Moosefs + Corosync + DRBD 集群

        对于 Git 集群来说,在不采用存储阵列的情况下,分布式存储系统是一个很好的解决方案。目前可使用的分布式文件系统,初步了解了一下,Git 是属于小文件的应用,因此可考量的我想就只有目前的 Moosefs、Ceph 了,Ceph 目前好似国内应用不多,貌似不太稳定。至于 GlusterFS 其比较适用于大文件的应…

    Linux干货 2016-02-22
  • N26第一周作业

    第一周作业   1. 描述计算机的组成及其功能。   计算机主要由处理器(CPU)、存储器、输入设备、输出设备。 CPU由运算器、控制器、寄存器、缓存器组成,提供运算。 存储器即内存,RAM(Random Access Memory),内存为cpu运算时提供数据存储。 Input:用户下指令的设备,使计算机能够与用户进行交互。 Outpu…

    Linux干货 2017-01-03
  • 一次简单的内核编译(二)

      前言:     此次编译是继一次简单的内核编译(一)进行操作编译的,请先查看第一篇再来看此片文章 一、使用busybox代替自己制作的init脚本,实现内核启动;  1、在这里我们使用静态编译busybox,所以需要先安装glibc-static依赖包,如果不安装会报错     2、解…

    Linux干货 2015-06-01

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 20:22

    内容比较简单,能再扩充下会更好~加油~