Так что для жизни я не могу понять, почему мой скрипт не примет мою команду date в качестве переменной. У меня есть сценарий, который запускается каждый раз при получении сообщения, а procmail
фильтрует определенные сообщения по их теме. Сценарий выглядит следующим образом:Установка текущей даты в переменную в скрипте в bash
d=$(date +%Y%m%d)
:0 wc
* ^(From|subject).*xxx
| cat&>/xx/xx/xx/xx/MSG:$d && \
chmod xxx /xx/xx/xx/xx/MSG:$d && \
/xx/xx/xx/otherscript.sh /xx/xx/xx/xx/MSG:$d
Я запустил команду много дат раз в других сценариях и к stdout
без любого вопроса, поэтому мне интересно, если это procmail
вопрос? Я просмотрел несколько разных сайтов об этом, но до сих пор не нашел решения. Моя конечная цель - создавать уникальные имена файлов, а также для целей организации каждый раз, когда приходит новое письмо.
Другая причина, по которой я полагаю, что она имеет какое-то отношение к procmail
, заключается в том, что она отлично работала всего 3 месяца назад (не изменял никаких файлов или разрешений). Я даже попытался несколько вариаций (показывая только несколько примеров):
$'date +"%Y%m%d"'
$(date)
echo $(date)
Я получаю множество файлов, создаваемое начиная с его печатью MSG: (дата), MSG:. (Дата и т.д. MSG: появляется (дата
И в конце моего скрипта я отправляю его на другой скрипт, который также создает новый файл с именем, который должен быть отключен, или пробел между датой и + вызывает проблему. дата прилагается и работает очень хорошо:
fileOut="/xxx/xxx/xxx/xxx.$v.$(date +"%Y%m%d-%H%M%S").xxx"
prints: xxx.YH8AcFV9.20160628-090506.txt
Спасибо за ваше время :-)
Документация, которую я вижу, указывает, что: '' d = 'date + '% Y% m% d" '' 'должен делать трюк. Вы пробовали это? –
Установите 'UMASK' вместо того, чтобы возиться с' chmod' или, еще лучше, измените свой скрипт, чтобы он читал со стандартного ввода. – tripleee