Добрый вечер.
есть задача выполнять две команды каждые 5 секунд. из рекомендаций к crontab вычитал, что в cron такие задания лучше всего запускать скриптами.
собственно, команды:
cat /cms/toolsbin/1st.txt | /cms/toolsbin/clint -u cms > /temp/1st_out.txt
cat /cms/toolsbin/2nd.txt | /cms/toolsbin/clint -u cms > /temp/2nd_out.txt
из 1st.txt считываются параметры, передаются в приложение, результат пишется в 1st_out.txt
на просторах интернета нашел такой способ реализации: скрипт, запускаемый cron'ом:
command1_to_exec="cat /cms/toolsbin/1st.txt | /cms/toolsbin/clint -u cms > /temp/1st_out.txt";
command2_to_exec="cat /cms/toolsbin/2nd.txt | /cms/toolsbin/clint -u cms > /temp/2nd_out.txt";
for i in $(echo 1 2 3 4 5 6 7 8 9 10 11); do
sleep 5;
$command1_to_exec; $command2_to_exec;
done
вроде все логично, объявляем переменные, спим каждые 5 секунд, работаем.
но не работает.
начал копать, попробовал исполнять по пунктам, с самого начала:
ksh cat /cms/toolsbin/1st.txt | /cms/toolsbin/clint -u cms > /temp/1st_out.txt
по какой то причине KSH выдает на это -
ksh: cat: cannot execute
при этому просто
cat /cms/toolsbin/1st.txt | /cms/toolsbin/clint -u cms > /temp/1st_out.txt
исполняется без проблем!
помогите понять, что я делаю не так? это мой первый скрипт )
OS - Solaris 10, возможности использовать что то кроме KSH нет..
спасибо.