LINUX.ORG.RU

История изменений

Исправление debugger, (текущая версия) :

for f in oldpath/*.png; do sem -j8 convert "$f" $PARAMETERS "newpath/`basename "$f" .png`.webp" & done

Но как выяснилось, если в $f есть пробелы, convert получит его без кавычек и не сможет работать.

Судя по фразе «convert получит его без кавычек» ты не в теме.

Я бы сказал что это проблема в sem:

Уже sem получит его (имя файла) без кавычек, но одним параметром (в котором есть пробел). Далее sem лажает и передаёт convert уже два параметра (или больше, зависит от количества и расстановки пробелов). Скорее всего, sem запускает команду посредством шелла, и не заботится об экранировании спецсимволов (тех же самых пробелов).

Универсального решения проблемы здесь нет — надо курить или документацию sem (он же parallel), или исходники, и либо править багу, либо документировать поведение.

Исходная версия debugger, :

for f in oldpath/*.png; do sem -j8 convert "$f" $PARAMETERS "newpath/`basename "$f" .png`.webp" & done

Но как выяснилось, если в $f есть пробелы, convert получит его без кавычек и не сможет работать.

Судя по фразе «convert получит его без кавычек» ты не в теме.

Я бы сказал что это проблема в sem:

Уже sem получит его без кавычек, но одним параметром (в котором есть пробел). Далее sem лажает и передаёт convert уже два параметра (или больше, зависит от количества и расстановки пробелов).

Универсального решения проблемы здесь нет — надо курить или документацию sem (он же parallel), или исходники, и либо править багу, либо документировать поведение.