Задача:
Добавлять в подпись к электронной почте (почтовая программа - Mozilla Thunderbird) после контактов случайную цитату, связанную с деятельностью организации.
Решение:
Организовал bash-скрипт с использованием команды cat (для склейки разных кусочков в один файл) и функции RANDOM (для подстановки случайного числа) и засунул этот скрипт в крон.
Код рабочего скрипта (10.04):
#!/bin/bash
function path {
PATH=/home/papka-s-failami/
echo $PATH
}
function quote {
N=$[($RANDOM % 38) +1]
echo $N
}
cat $(path)nachalo-podpisi-1-sotrudnika.html $(path)$(quote) $(path)end.html > $(path)podpis-1-sotrudnika.html
cat $(path)nachalo-podpisi-2-sotrudnika.html $(path)$(quote) $(path)end.html > $(path)podpis-2-sotrudnika.html
cat $(path)nachalo-podpisi-3-sotrudnika.html $(path)$(quote) $(path)end.html > $(path)podpis-3-sotrudnika.html
Проблема:
В Ubuntu 10.04 работало, как нужно. После перехода на 12.04 скрипт отказался работать и его пришлось переписывать, изрядно покопавшись на просторах интернета. Но, к сожалению, единственная версия, которая хоть как-то запустилась без сообщениях об ошибках, работает не правильно. Скрипт запускается, но вместо того, чтобы выбирать одну цитату из всех 37, он выбирает одну из только 4 первых.
Код местами рабочего скрипта (12.04):
#!/bin/bash
path() { PATH=/home/papka-s-failami/; echo $PATH; }
quote() { grep -m1 -ao '[0-37]' /dev/urandom | sed s/0/10/ | head -n1; }
cat $(path)nachalo-podpisi-1-sotrudnika.html $(path)$(quote) $(path)end.html > $(path)podpis-1-sotrudnika.html
cat $(path)nachalo-podpisi-2-sotrudnika.html $(path)$(quote) $(path)end.html > $(path)podpis-2-sotrudnika.html
cat $(path)nachalo-podpisi-3-sotrudnika.html $(path)$(quote) $(path)end.html > $(path)podpis-3-sotrudnika.html
Заранее спасибо за помощь.