首页 > 解决方案 > 如何在 bash 的新选项卡中打开子 shell,以便同时运行父 shell 和子 shell?

问题描述

我正在尝试研究关于 shell 的内容,并且正在探索如何在子 shell 和父 shell 之间共享变量。我可以在与父 shell 相同的选项卡中打开子 shell。但是,此时,由于子 shell 正在运行,我无法更改父 shell 中的变量。所以我需要在新选项卡中打开子 shell,以便我可以同时在子 shell 和父 shell 上工作。这甚至可能吗?

标签: bashshell

解决方案


您可以停止子 shell,然后用“bg”告诉它在后台运行。echo $$ 命令返回 shell pid,而 kill -19 将停止信号发送到 pid。

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

对父 shell 环境变量进行更改后,您可以“fg”将子 shell 置于前台。

您还可以查看“screen”和“xterm &”,这是启动子 shell 并轻松与父 shell 交互的两种其他方式。


推荐阅读