xargs
- инструмент для выполнения задания. Это, или
найти
с помощью [116173]-exec ... {} +[116174]. Эти инструменты запускают команду несколько раз, с максимальным количеством аргументов, которое может быть передано за один раз.
Оба метода проще выполнить, когда список переменных аргументов находится в конце, что здесь не так: конечным аргументом для [116175]mv[116176] является назначение. С утилитами GNU (например, на не встраиваемых Linux или Cygwin) вариант [116177]-t[116178] для [116179]mv[116180] полезен, чтобы сначала передать пункт назначения.
Если имена файлов не имеют ни белого пробела, ни любого из [116181]\"''[116182], то вы можете просто указать имена файлов на входе в [116183]xargs[116184] (команда [116185]echo[116186] является bash builtin, так что на нее не распространяется ограничение длины командной строки):
Вы можете использовать опцию [116187]-0[116188] для [116189]xargs[116190], чтобы использовать ввод с нулевым делением вместо формата по умолчанию, заданного в кавычках.
В качестве альтернативы вы можете сгенерировать список имен файлов с помощью [116191]find[116192]. Чтобы избежать повторения в подкаталогах, используйте [116193]-тип d -prune[116194]. Так как для перечисленных файлов изображений не указано никаких действий, перемещаются только остальные файлы.
(Сюда входят точечные файлы, в отличие от методов подстановочного шаблона оболочки)
Если у вас нет GNU-утилит, вы можете использовать промежуточную оболочку, чтобы получить аргументы в правильном порядке. Этот метод работает на всех POSIX-системах.
В zsh можно загрузить
mv[116508] builtin[116196]:
или, если вы предпочитаете, чтобы [116197]mv[116198] и другие имена продолжали ссылаться на внешние команды: или с помощью глобусов в стиле ksh-: Альтернативно, используя GNU [116199]mv[116200] и zargs :
Когда вы начинаете бабочку из оболочки, он удаляет цитаты вокруг 0,0.0,0
. С другой стороны, SystemD не делает расширение цитаты в этой ситуации, потому что это не оболочка.
На самом деле SystemD способен зачистить котировки вокруг аргументов, но не в середине их.
Итак, попробуйте удалить цитаты вокруг 0,0.0.0
в вашем сервисном файле и посмотрите, какие изменения. Не забывайте на Systemctl Daemon-Reload
.
с. S.: Вы не можете волшебным образом сделать розетку демона - активируемый только путем написания блока. Его код должен быть изменен на поддержку активации сокета.
Я предполагаю, что у вас есть некоторые зависимости для запуска вашего Butterfly.service
. Если работает из командной строки, может быть все услуги, и вы не сталкиваетесь с какой-либо проблемой, а не стоит Начиная с Systemd Systemd
может быть некоторые из служб зависимостей не поднимаются и до того, как эти услуги Ваша бабочка. УВЕРГИЦИЯ
идет вверх. И попробуйте добавить RESTART = всегда
к вашему [Сервис]
раздел , так что если он сбивает сбой, он должен снова перезапустить себя.