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
下一篇 2016-11-04

相关推荐

  • 自动编译安装Apache脚本

    自动编译安装Apache脚本,Linux系统版本不同,具体信息要查看日志进行对应的处理,本脚本安装Apache2.4.9

    Linux干货 2018-03-17
  • Linux学习总结01—操作系统与硬件介绍(原创)

      在计算机中,分为以下结构,运算器,控制器,存储器,输入、输出设备,运算器和控制起的整个就形成了中央处理器(称作为CPU),而cpu的功能就是提供运算,运算的数据都是经由控制器而来,控制器其实是往主存储器中取得数据,内存中的数据是由用户来输入的,其运算的结果通过控制器存储在内存当中,之后可以根据用户的指令输出在一个设备当中(例如显示器),我们都知…

    Linux干货 2016-10-29
  • Bash的基础特性(二)

    Bash的基础特性(二) glob文件通配符 (* ; ? ; [ ] ; [^ ] ) 星号* 匹配任意所有字符的 [root@lyp ~]# ls h* hello.sh hello.shbak ?匹配单个字符 ls ???? 查看四个字符命名的文件 [0-9]匹配数字 [a-z] 字母 字母的顺序安装 a A b B c C… z Z 匹配的a-z […

    Linux干货 2017-04-01
  • Linux基础知识——网络管理基础

    OSI七层模型与TCP/IP模型的区别 写一个脚本,使用ping命令探测172.168.250.1-172.168.250.254之间的所有主机的在线状态,在线的用绿色表示,不在线的使用红色表示 #!/bin/bash for ((IP=1;IP<=254;IP++))     do  &nb…

    Linux干货 2016-12-11

评论列表(1条)

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

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