有没有办法使用xargs在命令中间传递多个参数?
例如,我有一个文件javaoptions.txt,它包含一组默认的Java选项.我希望能够做类似的事情
xargs -I%java%ClassName< javaoptions.txt 并让它将所有选项传递给一个命令.但是,如果我尝试这样做,它会使用几个命令,每次都传递一个选项. 对于它的价值,我无法修改正在执行的源代码
解决方法:
如果我理解正确,您只需要将javaoptions.txt的内容插入到java命令中.如果是这样,xargs没有帮助.这是为了在另一个命令的每一行输出上运行相同的命令.你需要的只是
java $(cat javaoptions.txt) ClassName
但就个人而言,我会为此编写一个函数:
runJava(){
javaOpts="-Xmx4g -Djava.io.tmpdir=/tmp/foo" ## random example
java $javaOpts "$@" ## run the java command with the options
}
将它添加到你的〜/ .bashrc(或你的shell的等价物),你可以运行:
runJava Classname
跑步
java -Xmx4g -Djava.io.tmpdir=/tmp/foo Classname