LINUX.ORG.RU

можно ли с помошью скрипта перейти в другую директорию?

 , ,


0

3

Допустим, я пишу скрипт

cd /home/user
затем запускаю. После выхода из него, я все в той же директории. А можно ли сделать так, чтобы после выполнения я оказался там, куда ведет скрипт?

И попутно еще вопрос.

Допустим, я запустил сессию bash (залогинился). Затем из этой сессии я вызываю другую сессию командой bash. Могу ли я прибить ту сессию, из которой запущена текущая?



Последнее исправление: callbackhell (всего исправлений: 2)

А не охерел ли ты с последним абзацем? Если ты не понимаешь чего-то, это вовсе не означает что оно говно.

anonymous
()

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

Прибить баш, из которого запущен другой баш, чтобы другому не пришел SIGHUP, можно лишь запустив детку через nohup.

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

Ты волен настроить все под себя. Если не можешь — идиот, что сказать...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ты волен настроить все под себя. Если не можешь — идиот, что сказать...

Ну, вот ты сам же себе противоречишь:) Ты говоришь — это невозможно, другое только с ограничениями. Тогда как ты настроишь «под себя»? Ты даже перестроить не сможешь, не то что нстроить:) Тут единственный вариант — переписать все с нуля нахрен:)

callbackhell
() автор топика

Вопрос ведь не ради ответа, а ради флейма. Скучно, надоело, иди в жопу!

anonymous
()
Ответ на: комментарий от callbackhell

Что за бред? Вот я пользую IceWM. Отличная кастомизируемая штука с текстовым конфигом. Отключил нафиг ненужное оформление окон и радуюсь. Все кошерненько. И клавосочетания тоже удобно через текстовый конфиг настраиваются.

Eddy_Em ☆☆☆☆☆
()

Допустим, я запустил сессию bash (залогинился). Затем из этой сессии я вызываю другую сессию командой bash. Могу ли я прибить ту сессию, из которой запущена текущая?

exec bash, если ты об этом (я мог не правильно понять значение «сессия» из контекста).

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

а вообще, что делает exec? Я сейчас проверил, на самом деле, exec не запускает новый процесс, соответственно, мы не оказываемся в новом экземпляре bash.

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

Соответственно, там прибивать нечего, это тот же самый процесс:)

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

мы не оказываемся в новом экземпляре bash

оказываемся. просто он запускается поверх старого

teod0r ★★★★★
()

То что окружение по дефолту не меняется после выполнения скрипта - это самое лучшее и гибкое решение для _пользователя_ из всех возможных. Но запустив скрипт так:

. ./my_script
или
source ./my_script
...

I-Love-Microsoft ★★★★★
()

Затем из этой сессии я вызываю другую сессию командой bash

bash new_session &
exit

?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

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

Ни фига. Если бы оружение свободно менялось, я бы мог написать скрипт со специфичным переходом, бросить его в /bin, и он синтаксически бы вглядел как обычная команда, типа goto the_directory

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

И тогда выжившие будут завидовать мертвым... Упаси от такой анархии...

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от callbackhell

Суть в том, что вызов exec bash из-под bash прибивает текущий процесс и на его месте (что важно, с таким же PID) порождает новый. Как я понял, ты именно это и имел ввиду.

PS Конечно, с помощью exec можно запустить вообще любой процесс, и он будет подменён старым.

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