首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在chroot中执行chroot和执行命令的Shell脚本

在chroot中执行chroot和执行命令的Shell脚本
EN

Stack Overflow用户
提问于 2018-07-12 20:28:00
回答 2查看 11.8K关注 0票数 11

如果我在shell脚本中写道

代码语言:javascript
运行
复制
chroot /home/mayank/chroot/codebase
cd SBC

当我运行这个外壳脚本时,它确实会进入chroot,但不会执行命令cd SBC,当我退出chroot时,它会执行cd SBC

如何通过外壳脚本在chroot中实现chroot和执行命令?

EN

回答 2

Stack Overflow用户

发布于 2018-07-13 02:19:35

当您在没有告诉chroot该做什么的情况下运行它时,它将尝试启动chrooted交互式shell会话。因此,您的脚本将在此时“暂停”,当您完成这个交互式shell会话时,它将再次退出chroot。

其中一个快捷的选择是在这里滥用-document,如下所示:

代码语言:javascript
运行
复制
chroot /home/mayank/chroot/codebase /bin/bash <<"EOT"
cd /tmp/so
ls -l
echo $$
EOT

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

票数 11
EN

Stack Overflow用户

发布于 2018-07-13 15:06:46

我找到了一个解决方案,

chroot /work3/tmp_GU/$build_env/sbcbuild/chroot./test.sh

在chroot给出一个脚本之后,它对我来说工作得很好。

chroot文件夹中存在test.sh。test.sh中的所有命令都将在chroot文件夹中执行。

所以基本上在chroot之后给出一个命令

曼罗特

chroot选项NEWROOT [命令参数...]

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51305706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档