二、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示
bash的工作特性之命令执行状态返回值:
命令执行状态的返回值不同于命令的执行结果,当命令在bash中正常完成,其值为0,如果命令在bash中运行出错,其值为1-255,使用 echo $?来查看结果
# 命令运行成功,其执行状态结果为0
[root@localhost ~]# ls /tmp &> /dev/null
[root@localhost ~]# echo $?
0
# 命令执行不成功,其结果为1-255之间的一个值
[root@localhost ~]# ls /tmpp &> /dev/null
[root@localhost ~]# echo $?
2
bash的工作特性之命令行展开
在bash中,可以使用一些特定的字符来代替参数
1) ~表示用户的家目录
# 快速切换到用户的家目录
[root@localhost tmp]# pwd
/tmp
[root@localhost tmp]# cd ~
[root@localhost ~]# pwd
/root
2) {}可以承载一个以逗号为分割符的列表,进行展开
# 使用{}进行命令行展开
[root@localhost ~]# mkdir {a,b}_{c,d}
[root@localhost ~]# ls
a_c a_d anaconda-ks.cfg b_c b_d
三、使用命令行展开功能来完成以下练习
创建/tmp目录下的a_c,a_d,b_c,b_d
[root@localhost tmp]# mkdir {a,b}_{c,d}
创建/tmp/mylinux目录下的以下目录
[root@localhost tmp]# mkdir -p 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}}
[root@localhost tmp]# tree mylinux
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