Linux 如何进入根shell、执行命令、退出并继续使用脚本?

Linux 如何进入根shell、执行命令、退出并继续使用脚本?,linux,bash,shell,command-line,Linux,Bash,Shell,Command Line,我目前正在写一个创建Ubuntu img的脚本。 因为我想定制这样的脚本,所以我在主脚本中使用sudo chroot target bash script.sh来更改根目录并自动启动我编写的script.sh 现在在脚本中,作为最后一个命令,我编写了exit。我想退出这个根目录,回到“正常”目录,然后继续我的脚本。 这怎么可能 如果这是一个有点困惑,只要问,我会告诉你更多 谢谢 也许这个问题还不够清楚。问题是它做了什么。当执行一个简单的命令时(不是exec,也没有&),shell进程创建一个新进

我目前正在写一个创建Ubuntu img的脚本。 因为我想定制这样的脚本,所以我在主脚本中使用
sudo chroot target bash script.sh
来更改根目录并自动启动我编写的script.sh

现在在脚本中,作为最后一个命令,我编写了
exit
。我想退出这个根目录,回到“正常”目录,然后继续我的脚本。 这怎么可能

如果这是一个有点困惑,只要问,我会告诉你更多


谢谢

也许这个问题还不够清楚。问题是它做了什么。当执行一个简单的命令时(不是
exec
,也没有
&
),shell进程创建一个新进程并等待其终止,特殊变量
$?
用exit更新。当第二个进程退出时,它所做的所有环境更改都将丢失,并且不会更改调用方shell环境,与调用命令之前相同

如果“我的脚本”是
script.sh
,那么调用的进程将从根目录退出并继续,这是不可能的。也许可以创建一个中间caller.sh

sudo bash caller.sh

# caller.sh
chroot target bash script.sh
# continue

请出示你的密码。由于堆栈溢出对您隐藏了关闭原因:寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。