LINUX.ORG.RU

выполнить скрипт в определенной директории


0

1

всем привет. вопрос вот в чем. gnu-make(не стану объяснять что это), имеет замечательный ключик: -C

цитата из мана:

-C dir, --directory=dir Change to directory dir before reading the makefiles or doing anything else. If multiple -C options are specified, each is interpreted relative to the previous one: -C / -C etc is equivalent to -C /etc. This is typically used with recursive invocations of make.

как заставить bash выполнять скрипты в такой же манере?

спасибо.

зы ключика -C не нашел. аналогов тоже.

★★★

Последнее исправление: niXman (всего исправлений: 1)
Ответ на: комментарий от kompas

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

нет, конечно, Вы можете предложить сначала запомнить текущий каталог, и по завершению скрипта вернуться в него. да, это решение. но какое-то оно рукоблудное, не находите?

niXman ★★★
() автор топика
Ответ на: комментарий от niXman

> Вы можете предложить сначала запомнить текущий каталог, и по завершению скрипта вернуться в него

Можем. pushd/popd

akk ★★★★★
()
Ответ на: комментарий от niXman

В самом скрипте, в начале, добавь строку cd /dir

sdio ★★★★★
()
Ответ на: комментарий от niXman

но какое-то оно рукоблудное, не находите?

Вроде не рукоблудное.

Change to directory dir before reading the makefiles or doing anything else.

Понятно ведь - перейти в каталог dir перед чтением Makefiles... После произойдет возврат в исходный каталог. Как это организовано в gnu-make не знаю. В bash можно написать:

a=`pwd` && cd /dir; script.sh; cd $a

или модифицировать скрипт script.sh:

a=`pwd` && cd /dir; 
Техт скрипта script.sh
cd $a
RabidRabbit
()
Ответ на: комментарий от segfault

молодец падаван юный, пайпы освоил ты, вот в дневник твой пятёрка, матери своей неси её

zolden ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.