2013-11-28 3 views
0

У меня есть сценарий bash, который перемещается по всем папкам внутри заданного пути и выполняет некоторые действия.Сценарий Bash: выполнять действия на основе содержимого файла

Теперь мне нужен этот скрипт, чтобы найти данный путь сам по себе, отслеживая файл, который я буду обновлять с моего сервера.

Итак, сценарий должен:

  1. проверить, если файл существует todo.txt
  2. прочитать первую строку файла
  3. выполнять действия в папке, определенной в этой первой строке
  4. удалять todo.txt
  5. дописывания Done.txt с одной и той же линии, что находится в todo.txt

По какой-то причине, когда я запустить скрипт напрямую, это работает отлично

cd /proper/path/to/todo 
FILE=todo.txt 
if [ -f $FILE ]; 
then 
    FOLDER=$(head -1 $FILE) 
    echo "path to process:"$FOLDER 
fi; 

Выход хороший, файл читается, то выход «путь к процессу:/исправить/путь/чтения/с/файл»

Однако, когда я создал хрон для запуска этого скрипта, переменная $ FOLDER пуст, поэтому выход только„путь к процессу:“

* * * * * /bin/sh /www/www.mysite.com/myscript.sh >> /www/www.mysite.com/log.txt 

Обратите внимание, что: 1. скрипт IS побежал 2. если [-f $ FILE] работает, поэтому файл найден

Это просто головная команда, которая терпит неудачу.

Любые идеи? благодаря!

+1

'$ PATH' не задано cron. Ваш скрипт не может получить 'head'. – eduffy

+0

Если вы добавили командную строку cronjob с помощью 2> & 1, вы можете записать сообщение об ошибке – PasteBT

+0

@eduffy, я устанавливаю PATH в свой файл crontab следующим образом: PATH =/usr/local/bin:/usr/bin:/usr/X11R6/бен:/бен:/USR/игры:/OPT/гном/бен:/USR/Lib/мит/бен:/USR/Lib/мит/SBIN:/USR/местные/RealPlayer:/OPT/лощина/srvadmin/bin: – mitai

ответ

1

Похоже, что /usr/bin не находится в PATH cron. Попробуйте это: добавьте эту запись в cron

* * * * * env > $HOME/cron.env 

Подождите минуту и ​​посмотрите, что говорит этот файл.


Don't parse ls - вместо for i in $(ls) сделать for file in *. Начиная с for итерации более слов, любое имя файла с пробелом не обрабатывается должным образом

Смежные вопросы