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

Делаю через планировщик задач(crontab) запуск скрипта при включение. скрипт находится в /home/andrey/mine/Vanila/bar/start.sh. При выполнение заметил, что он делает все операции с файлами в home/andrey. Не могу понять как указать ему выполнение программы там же где и скрипт находиться.
  • Вопрос задан
  • 401 просмотр
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Sanes
@Sanes
!
./start.sh
Ответ написан
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
в $DIR будет папка, где лежит файл скрипта.

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

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

Войти через центр авторизации
Похожие вопросы
06 мар. 2021, в 02:23
120000 руб./за проект
06 мар. 2021, в 00:29
500 руб./за проект
05 мар. 2021, в 23:28
1200 руб./за проект