Почему команда «xargs» не работает с figlet, но работает нормально, когда я запускаю ее с аргументом «ls»

Если кто-то еще сталкивается с этой ошибкой из vmWare ESXi или другой среды BusyBox, вы на самом деле не используетеwget:

Вывод из wget -Vдля меня:

wget: invalid option -- 'V'
BusyBox v1.22.1 (2018-07-23 19:34:44 PDT) multi-call binary.

Usage: wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL...

Retrieve files via HTTP or FTP

    -s  Spider mode - only check file existence
    -c  Continue retrieval of aborted transfer
    -q  Quiet
    -P DIR  Save to DIR (default.)
    -O FILE Save to FILE ('-' for stdout)
    -U STR  Use STR for User-Agent header
    -Y  Use proxy ('on' or 'off')

Значит, вам не повезло. Перенесите файл с помощью другого метода, например SCP, с вашей рабочей станции.

0
03.04.2020, 12:30
1 ответ

Я попытаюсь ответить:

find /usr/share/figlet/ -type f -name "*.flf" | xargs -n 1 figlet -f

Это запустит одну команду figlet с одним именем файла и другую команду figlet с другим именем файла и так далее.

См., например, разницу между

find /usr/share/figlet/ -type f -name "*.flf" | xargs -t ls -l

и

find /usr/share/figlet/ -type f -name "*.flf" | xargs -t -n 1 ls -l

(Между прочим, я всегда включаю «-r» в xargs, что предотвратит запуск xargs, если нет входных данных. В противном случае вы получите запутанную пустую строку.)

0
28.04.2021, 23:19

Теги

Похожие вопросы