Вы неправильно используете переменную с предоставленным пользователем вводом. В этом ответе предполагается, что вы пытаетесь запустить этот скрипт с помощью bash
(или совместимой) оболочки. Если нет, вам нужно обратиться к тому, как обрабатывать переменные в вашей оболочке.
Вам нужно сослаться на переменную оболочки, используя синтаксис оболочки, а не аргумент exiftool
, и удалить одинарные ("сильные") кавычки, в результате чего ссылка на переменную будет простой литеральной строкой (передавая имя , а не значение, до exiftool
). То, что вы на самом деле хотите, это:
event="EVENT"
exiftool -r '-FileName<CreateDate' -d "%Y/%m/$event/%Y%m%d_%H%M%S%%-c.%%le" .
Двойные ("слабые") кавычки позволят оболочке заменить корректно ссылающуюся переменную (используя "$" в качестве префикса), при этом все еще защищая любые пробелы в пользовательском вводе.