Как открыть дочернюю оболочку в новой вкладке в bash, чтобы у меня одновременно работала родительская и дочерняя оболочки? - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь изучить информацию об оболочках и изучаю, как переменные распределяются между дочерними и родительскими оболочками. Я могу открыть дочернюю оболочку на той же вкладке, что и родительская оболочка. Однако в настоящее время я не могу вносить изменения в переменные в родительской оболочке, поскольку дочерняя оболочка работает. Поэтому мне нужно было открыть дочернюю оболочку в новой вкладке, чтобы я мог одновременно работать как с дочерней, так и с родительской оболочкой. Это вообще возможно?

1 Ответ

0 голосов
/ 08 января 2020

Вы можете остановить дочернюю оболочку, а затем сказать, что она запускается в фоновом режиме с помощью «bg». Команда echo $$ возвращает pid оболочки, а kill -19 отправляет pid сигнал остановки.

$ echo $$
19863
$ kill -19 19863
[1]+  Stopped                 sh
$ bg
[1]+ sh &
$ 

После того, как вы внесли изменения в переменные среды родительской оболочки, вы можете "fg" на передний план дочерней оболочки.

Вы также можете посмотреть "screen" и "xterm &" - ​​это еще 2 способа запуска вспомогательной оболочки и простого взаимодействия с родительской оболочкой.

...