我在寻找一个UNIX shell命令来添加一个文件作为另一个shell命令的参数的内容。 例如:
command << commandArguments.txt
我在寻找一个UNIX shell命令来添加一个文件作为另一个shell命令的参数的内容。 例如:
command << commandArguments.txt
xargs的就是专门为这个:
cat commandArguments.txt | xargs mycommand
如果您在文件中都有多条线路,则可以使用xargs -L1 -P10
在同一时刻运行命令的十份,在并行。
xargs的采取它的标准和格式它作为外壳命令位置参数。 它最初是为了应对短期的命令行的限制,但它是用于其他目的也是有用的。
例如,在最后一分钟内,我用它连接到并联10台服务器,并检查他们的正常运行时间:
echo server{1..10} | tr ' ' '\n' | xargs -n 1 -P 50 -I ^ ssh ^ uptime
此命令管道的一些有趣的方面:
tr
是需要把每个名称各占一行。 这是因为xargs
预期线分隔输入 -n
选项控制许多进线是如何每命令调用使用。 -n 1
说,做一个新ssh
进程为每个到来的线。 -I
,可以指定一个令牌( ^
将与参数代替被替换)。 -P
控制多少子进程同时运行,极大地拓宽了有趣的可能性的空间.. command `cat commandArguments.txt`
使用反引号将使用封闭命令的结果作为文字在外部命令