如何将Linux命令的结果作为下一个命令的参数
不看不知道,一看真奇妙,太简单了,KISS法则
符号:`
名称:反引号,上分隔符
位置:反引号(`)这个字符一般在键盘的左上角,数字1的左边,与(~)在同一键上,不要将其同单引号(’)混淆
作用:反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分
举例:
[eshizhan@localhost usr]$ echo `date`
2011年 11月 30日 星期三 16:37:23 CST
补充1:
今天再补充一个达到同样效果的命令,xargs
[eshizhan@ArchLinux ~]$ find vim|xargs ls -l
-rw-r--r-- 1 eshizhan users 3043 Mar 25 14:48 vim
常用参数:
`-0`:按'\0'符识别参数
`-n`:一次传递几个参数
`-L`:一次传递几行参数
`-I`:标示参数使用位置
补充2:
bash使用$()也可以,这个写shell脚本看起来比反引号(`)更清晰。
echo $(date)
P.S.
find命令有个-exec参数,也能达到同样效果,但是还是强烈推荐用xargs代替,原因嘛,不但简单而且高效。