Привет всем.
У меня такая проблема - на запускается shell-скрипт для восстановления сайта из бэкапа. Скрипт простой - несколько команд, которые удаляют файлы и на их место записывают другие, извлекаемые из архива. Сайт располагается в /var/www, у юзера доступа туда нет, поэтому приходится запускать под sudo.
Самое интересное заключается в том, что когда я просто открываю файл скрипта в текстовом редакторе и копирую команды из него по одной в терминал, то всё замечательно выполняется. А вот если запускаю скрипт - вот тут-то и начинаются чудеса. Появляется куча ошибок: "нет такой директории: /var/www", "chmod не может получить доступ к /var/www/MySite", "файл не найден: /var/www/sql-file.sql" и так далее в том же духе. Директории и файлы, конечно, существуют. Но скрипт их почему-то не видит.
Кроме скрипта восстановления, есть также скрипт бэкапа. Он данные из /var/www только читает, права рута ему не нужны, и этот скрипт нормально работает. Не сообщает о неожиданной пропаже /var/www
Думал, может быть, проблемы в кодировке файла скрипта. Локаль в системе - utf8, скрипт тоже в utf8. Пробовал перекодировать в utf8 c BOM и без BOM - никакого эффекта. Вывод cat показывает нормальное содержимое файла скрипта. Ни одного кириллического символа в скрипте нет.
У меня уже идеи закончились, в чём может быть дело. Чтение вывода "man sudo", гугление по словам "настройка sudo" не помогли. Кто хорошо знаком с консолью - пожалуйста, подскажите, в чём тут может быть дело.