@BottleneckPC

Как выполнить скрипт там же где он и находится?

Делаю через планировщик задач(crontab) запуск скрипта при включение. скрипт находится в /home/andrey/mine/Vanila/bar/start.sh. При выполнение заметил, что он делает все операции с файлами в home/andrey. Не могу понять как указать ему выполнение программы там же где и скрипт находиться.
  • Вопрос задан
  • 435 просмотров
Пригласить эксперта
Ответы на вопрос 6
@xibir
в начале скрипта, можно прописать
cd `dirname $0`
Ответ написан
Комментировать
@HighMan
как вариант: все действия с файлами, участвующими в скрипте, проводить по абсолютным, а не по относительным путям:
# cp file.txt /mnt
cp /home/andrey/mine/Vanila/bar/file.txt /mnt


Тогда безразлично где находится скрипт, да и понятнее.
Ответ написан
Комментировать
@KingstonKMS
Самый простой это комбинировать две команды и записать в крон строке: cd /home/andrey/mine/Vanila/bar/ && /home/andrey/mine/Vanila/bar/start.sh
Ответ написан
Комментировать
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
в $DIR будет папка, где лежит файл скрипта.

Источник
Ответ написан
Комментировать
shambler81
@shambler81 Куратор тега Linux
cd /home/test && ./scrypt.sh
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы