Я хочу передать содержимое файла в качестве аргумента программы в кавычках с xargs
, чтобы пропустить создание временного файла.
С временным файлом я могу сделать так:
myprogram > /tmp/lld.json
zabbix_sender -z 127.0.0.1 -s testhost -k llditem -o "`cat /tmp/lld.json`"
rm /tmp/lld.json
Но мне не нужны эти дополнительные действия с /tmp/lld.json
.
Поэтому я пытаюсь использовать xargs
так:
myprogram |
xargs -e -I'{}' zabbix_sender -z 127.0.0.1 -s testhost -k llditem -o "'{}'"
руководство с xargs
manpage:
-Я заменил-стр
-e [eof-str] ... Если eof-str опущено, конец строки файла отсутствует ..
http://man7.org/linux/man-pages/man1/xargs.1.html
Но xargz
выполняется zabbix-sender
много раз с каждой из строк.
Полагаю, что опции -I
и -e
являются взаимоисключающими. Но я также предполагаю, что неправильно истолковал руководство xargs
.