如何将{}从bash传递给C?

时间:2016-10-09 18:48:39

标签: bash

例如

find -name "*.jpg" -exec myprogram {} 

是来自main()的参数列表吗?

1 个答案:

答案 0 :(得分:3)

如果您希望将所有jpg文件名作为一个参数列表传递给您的程序,您可以使用xargs

find . -name "*.jpg" | xargs myprogram 

请参阅Arguments to main in C,了解如何访问传递给myprogram的这些参数。

您的版本将为找到的每个jpg文件多次调用您的程序

find . -name "*.jpg" -exec myprogram '{}' \; 

如果使用+

终止查找-exec,则可以获得与xargs相同的结果
find . -name "*.jpg" -exec myprogram '{}' +

参考: https://en.wikipedia.org/wiki/Xargs