如果我在 shell 脚本中写
chroot /home/mayank/chroot/codebase
cd SBC
当我运行这个 shell 脚本时它确实进入了chroot
但不执行命令cd SBC
,
当我退出时chroot
然后它执行cd SBC
.
我怎样才能实现一些事情chroot
并执行命令chroot
通过外壳脚本?
当你跑步时chroot
在不告诉它要做什么的情况下,它会尝试启动 chrooted 交互式 shell 会话。因此,您的脚本将在此时“暂停”,当您完成交互式 shell 会话时,它会再次从 chroot 中继续。
快速而肮脏的选择之一是滥用此处文档,如下所示:
chroot /home/mayank/chroot/codebase /bin/bash <<"EOT"
cd /tmp/so
ls -l
echo $$
EOT
这需要所有行达到EOT
并将它们送入bash
开始通过chroot
。那些双引号"EOT"
应确保 bash 传递的内容不会尝试扩展变量等。因此echo $$
应该是内部chrooted的PIDbash
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)