gpt4 book ai didi

bash - 执行 chroot 并在 chroot 中执行命令的 Shell 脚本

转载 作者:行者123 更新时间:2023-11-29 09:12:36 24 4
gpt4 key购买 nike

如果我在 shell 脚本中写

chroot /home/mayank/chroot/codebase
cd SBC

当我运行这个 shell 脚本时,它确实进入了 chroot 但没有执行命令 cd SBC,当我退出 chroot 时,它会执行 cd SBC

如何通过 shell 脚本实现 chroot 并在 chroot 中执行命令?

最佳答案

当你运行 chroot 而不告诉它做什么时,它会尝试启动 chrooted 交互式 shell session 。所以你的脚本会在那个时候“暂停”,当你完成那个交互式 shell session 时,它会再次退出 chroot。

其中一个快速而肮脏的选择是滥用 here-document,就像这样:

chroot /home/mayank/chroot/codebase /bin/bash <<"EOT"
cd /tmp/so
ls -l
echo $$
EOT

它获取所有行直至 EOT,并将它们提供给通过 chroot 启动的 bash"EOT" 周围的那些双引号应该确保 bash 传递内容而不是试图扩展变量等。因此 echo $$ 应该是内部 chrooted bash 的 PID。

关于bash - 执行 chroot 并在 chroot 中执行命令的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51305706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com