2013-09-12 4 views
0

Я действительно новичок в shell-отделе. Поэтому я хочу изменить каталог в своем shell-скрипте. Я пробовал много разных «решений» из stackoverflow. Но ничего не работает. Здесь мой код:Изменение Active Directory в Shell Script

runas webuserA 
cd /usr/webapps/myApp/deploy 
cp /tmp/myFile ./ 
exit 
runas webuserB 

Сценарий не изменит активный каталог. Я попытался запустить его с помощью следующих команд:

source ./runIt.sh 
. runIt.sh 
bash runIt.sh 
sh runIt.sh 

Что я должен изменить в сценарии или в запуске команды?

+0

Что такое 'runas'? Вы ищете 'sudo'? – tripleee

+0

Просто 'cd' работает так, как вы ожидаете, но ваш скрипт, кажется, ничего не делает после смены каталога. Попробуйте написать простой скрипт, например 'cd dirA; PWD; cd dirB; pwd', чтобы увидеть, что текущий каталог действительно изменяется. Когда скрипт заканчивается, родительский процесс (ваша интерактивная оболочка) по-прежнему будет находиться в каталоге, в котором вы начали, конечно. – tripleee

+0

@tripleee Нет, 'runas' - это команда на сервере для изменения активного пользователя. – Christian

ответ

0

Ниже проблема строки в скрипте:

exit 

Удалите его, и выполнить свой скрипт, либо говоря:

source runIt.sh 

или

. runIt.sh 

Вы, возможно, заметили что ваш сеанс завершился бы при вызове скрипта, используя одну из двух указанных форм выше. Это связано с тем, что использование source или . вызывает запуск сценария в той же оболочке.

Смежные вопросы