如何将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代替,原因嘛,不但简单而且高效。

posted on 2011-11-30 16:39  eshizhan  阅读(23518)  评论(0编辑  收藏  举报