2

Как я могу запустить команду, которая находится в другом каталоге, чтобы команда думала, что я выполнил ее в текущем каталоге?

Если команда использует basename() или argv[0] (или как там ее называют), чтобы узнать, откуда она была вызвана, и ей нужны файлы в своем каталоге, она может посмотреть в каталоге, из которого вы вызвали приложение; то есть не тот.

Конечно, вы можете cd в каталог первого и ссылаться на него, но есть способ , чтобы запустить приложение , так что он думает , что вы побежали его из каталога (без cd ИНГ первой)?

Если это возможно, я буду использовать это в crontab , так как мысль об использовании cd там пугает меня.

2 ответа2

3

Почему использование cd в crontab пугает вас?

Обратите внимание, что если вы хотите просто временно изменить каталог и затем вернуться, вы можете использовать pushd и popd

2

Вы можете сделать скрипт следующим образом:

#!/bin/sh
cd /dir/
yourcommand

Затем сохраните его где-нибудь и добавьте этот скрипт в crontab

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .