Я на Ubuntu 14.04. Допустим, в папке имеется неизвестное количество исполняемых файлов.Как использовать результат поиска для одного xargs
ATest, BTest, CTest
Я хочу выполнить каждый исполняемый файл с помощью параметра командной строки, связанного с его именем. Например,
valgrind --xml=yes --xml-file=ATest.log ./ATest
valgrind --xml=yes --xml-file=BTest.log ./BTest
valgrind --xml=yes --xml-file=CTest.log ./CTest
я могу получить исполняемые файлы с помощью
find . -executable -type f
я могу получить аргумент пользовательской командной строки с помощью
find . -executable -type f -printf '%f\n'
я могу сделать
find . -executable -type f | xargs -n 1 valgrind --xml=yes --xml-file=Test.log
но к сожалению, имя файла журнала i s не настроен. Я попытался объединить его, как показано ниже, но это не сработало
find . -executable -type f -printf '%f\n' && find . -executable -type f | xargs -n 2 valgrind --xml=yes --xml-file={}.log
Что такое правильный способ объединения результатов двух находкой для одного xargs?
Как бы вы обходились, если это нужно выполнить в более высоком каталоге, что означает, что «find. -executable -type f» возвращает ./dir/ATest ./dir/BTest ./dir/CTest? – user3667089
Это работает, но проблема с использованием find всегда возвращает 0 (echo $?), Даже если программа терпит неудачу. Можно ли использовать xargs? – user3667089
работает феноменально! – user3667089