bash命令行返回值和展开
标签(空格分隔): bash,命令,状态,展开
1.命令状态结果和执行结果
(1)命令执行的状态返回值,命令执行完成之后,其执行状态结果值保存于bash的特殊状态变量$?中。
0:成功
1-255:失败
[root@yumc66 ~]# date
2016年 12月 20日 星期二 11:57:10 CST
[root@yumc66 ~]# echo $?
0
[root@yumc66 ~]# $?
-bash: 0: command not found
[root@yumc66 ~]# echo $?
127
(2)命令返回值(执行结果)
命令返回值,根据命令及其功能不同,结果各不相同。
命令返回值(执行结果)引用
$(COMMAND)
或`COMMAND`
~]#mkdir $(date +%H-%M-%S)
2.命令行展开
~:自动展开为用户的家目录,或指定用户的家目录
{}:分组机制,可承载以逗号,分割的路径列表,并将其展开为多个路径
例如1
~]# ls /tmp/{a,b} 相当于 ls /tmp/a /tmp/b
例如2 创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b
~]#mkdir -pv /tmp/x/{y1/{a,b},y2}
~]#tree /tmp/x 验证
例如3 创建a_c,a_d,b_c,b_d
~]#mkdir -pv /tmp/{a/{c,d},b/{c,d}}
或
~]#mkdir /tmp/{a,b}_{c,d} -v 或 ~]#mkdir -v /tmp/{a,b}_{c,d}
~]#tree /tmp/a 验证