- 命令执行状态返回值
在Linux bash中可以用命令执行状态返回值来判断命令是否运行成功,而不需去关心命令返回的结果是多少。- bash通过状态返回值来得到输出结果;
- 成功:返回值 0
[root@localhost tmp]# ls aaa [root@localhost tmp]# mkdir $(date +%H-%m-%S) [root@localhost tmp]# ls 04-02-49 aaa [root@localhost tmp]# echo $? 0
- 失败:返回值 1-255
[root@localhost tmp]# ls llllllll ls: cannot access llllllll: No such file or directory [root@localhost tmp]# echo $? 2
- 成功:返回值 0
- 命令执行完成后,状态返回值保存在bash的特殊变量$?中;
$?只能获取最近一条命令的状态结果,还可以把 $?放在提示符里去,这样每次运行命令都能看到状态结果;[root@localhost tmp]# export PS1="[\$?]${PS1}" [0][root@localhost tmp]# ls llll ls: cannot access llll: No such file or directory [2][root@localhost tmp]#
- 命令正常执行时,有的还会有命令返回值; 根据命令及其功能的不同,返回结果各不相同;
引用命令的执行结果:$(COMMAND) 或 ‘COMMAND’
- bash通过状态返回值来得到输出结果;
- 命令行展开
在Linux bash中使用命令行展开一步完成需要分开成多步完成的操作,而达到事半功倍的效果。在Linux指令参数位置使用”{}” 将相应的参数括起来,括号中的参数以逗号分隔,然后bash在执行这一指令时会自动将括号中的内容进行展开。- 创建/tmp目录下的:a_c, a_d, b_c, b_d
[0][root@localhost aabb]# ll total 0 [0][root@localhost aabb]# mkdir {a,b}_{c,d} [0][root@localhost aabb]# tree . ├── a_c ├── a_d ├── b_c └── b_d
- 创建/tmp/mylinux目录下的:
[0][root@localhost tmp]# ll total 0 [0][root@localhost tmp]# 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}} [0][root@localhost mylinux]# tree . ├── 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
- 创建/tmp目录下的:a_c, a_d, b_c, b_d
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91789
评论列表(1条)
没问题。