bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容

bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容

bash的基础特性:命令的执行状态结果

bash通过状态返回值来输出此结果:

    成功:0
    失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中。

    [root@localhost ~]# ls
    anaconda-ks.cfg
    [root@localhost ~]# echo $?
    0
    [root@localhost ~]# asd
    -bash: asd: command not found
    [root@localhost ~]# echo $?
    127
    [root@localhost ~]# 

bash的基础特性:命令行展开

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

        例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

实例

  • 创建/tmp目录下的:ac, ad, bc, bd
    [root@localhost ~]# mkdir -pv /tmp/{a_c,a_d,b_c,b_d}
    mkdir: created directory ‘/tmp/a_c’
    mkdir: created directory ‘/tmp/a_d’
    mkdir: created directory ‘/tmp/b_c’
    mkdir: created directory ‘/tmp/b_d’
    [root@localhost ~]# ll /tmp
    total 8
    drwxr-xr-x. 2 root root   6 Mar 11 22:46 a_c
    drwxr-xr-x. 2 root root   6 Mar 11 22:46 a_d
    drwxr-xr-x. 2 root root   6 Mar 11 22:46 b_c
    drwxr-xr-x. 2 root root   6 Mar 11 22:46 b_d
    
  • 创建目录结构
    [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: created directory ‘/tmp/mylinux’
    mkdir: created directory ‘/tmp/mylinux/bin’
    mkdir: created directory ‘/tmp/mylinux/boot’
    mkdir: created directory ‘/tmp/mylinux/boot/grub’
    mkdir: created directory ‘/tmp/mylinux/dev’
    mkdir: created directory ‘/tmp/mylinux/etc’
    mkdir: created directory ‘/tmp/mylinux/etc/rc.d’
    mkdir: created directory ‘/tmp/mylinux/etc/rc.d/init.d’
    mkdir: created directory ‘/tmp/mylinux/etc/sysconfig’
    mkdir: created directory ‘/tmp/mylinux/etc/sysconfig/network-scripts’
    mkdir: created directory ‘/tmp/mylinux/lib’
    mkdir: created directory ‘/tmp/mylinux/lib/modules’
    mkdir: created directory ‘/tmp/mylinux/lib64’
    mkdir: created directory ‘/tmp/mylinux/proc’
    mkdir: created directory ‘/tmp/mylinux/sbin’
    mkdir: created directory ‘/tmp/mylinux/sys’
    mkdir: created directory ‘/tmp/mylinux/tmp’
    mkdir: created directory ‘/tmp/mylinux/usr’
    mkdir: created directory ‘/tmp/mylinux/usr/local’
    mkdir: created directory ‘/tmp/mylinux/usr/local/bin’
    mkdir: created directory ‘/tmp/mylinux/usr/local/sbin’
    mkdir: created directory ‘/tmp/mylinux/var’
    mkdir: created directory ‘/tmp/mylinux/var/lock’
    mkdir: created directory ‘/tmp/mylinux/var/log’
    mkdir: created directory ‘/tmp/mylinux/var/run’
    [root@localhost ~]# tree /tmp/mylinux
    /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
    
    24 directories, 0 files

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92055

(0)
eighteenxueighteenxu
上一篇 2018-03-11 16:10
下一篇 2018-03-11 16:14

相关推荐

  • shell脚本之变量、运算、条件测试。

    概述 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 计算机:运行二进制指令; 编程语言: 低级:             汇编 高级:…

    Linux干货 2016-08-15
  • 抓包获取QQ好友IP地址

    作者:网海过客 原文连接:https://www.chinasa.net/archives/326.html 原理:通过抓包软件,抓取QQ进程,向QQ好向发送UDP数据包,获取QQ好友IP地址 抓包软件:科来网络分析系统 步骤: 1、打开抓包软件,选择网卡,本地进程分析。 2、向QQ好友发起语音通话 3、在抓包软件里,找到QQ进程,数据包,过滤UDP协议,在…

    Linux干货 2017-06-30
  • LVM基本原理及使用

    LVM简介 LVM全称Logical Volume Manager(逻辑卷管理),是将几个物理分区(或硬盘)通过软件组合成一块看起来是独立大硬盘(VG),然后对这块大硬盘分割成可使用的逻辑卷(LV),最终能够挂载使用,以达到对磁盘空间进行弹性管理的目的。 LVM的基本原理 基本术语 dm(device mapper):将一个或多个底层块设备组织成一个逻辑设备…

    Linux干货 2016-04-17
  • N28-第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

    2、编辑/etc/group文件,添加组hadoop。

    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

    9、找出/etc/passwd文件中的一位数或两位数;

    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    Linux干货 2017-12-26
  • 大话命令之–ss

    大话命令之—ss ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。 优势: (1)显示更多更详细的有关TCP和连接状态的信息,(2)比netstat更快速更高效。 1 格式 格式:ss    [option]… &nbs…

    Linux干货 2017-05-15
  • lvs-dr模型

    dr 模型 1、 directory ,node1 ,node2 三台主机都是一块网块, 并且网卡都为桥接,且node1,nod2,不需要指定网关 在director主机中执行   #ip addr add 192.168.1.20/32 dev ens33 # ipvsadm -A -t 192.168.1.20:80 -s rr # ipvsa…

    Linux干货 2017-08-26