0

在 bash 脚本中,我想立即chroot转到一个目录和cd另一个子目录。我想通过 执行此操作exec chroot [dir] cd [subdir],但我收到一个未找到文件的错误。这是因为该cd命令不在新目录树中。该cd命令通常由 shell 提供,但我需要避免使用 eval 启动子进程。

有没有办法在 Linux 中不需要 shell 就可以更改目录?我寻找包含cd在 linux 中的包,但 coreutils 不包含它。谢谢你。

4

2 回答 2

2

没有cd程序。cd是您的外壳的内置程序;它使外壳程序更改其自己的当前目录。进程不能改变其他进程的当前目录,所以cd不可能有程序(它会在另一个进程中运行,对调用进程没有影响)。

于 2012-11-16T01:09:42.373 回答
1

安装schroot程序/包。这似乎可以选择更改目录:

-d, --directory=directory
    Change to directory inside the chroot before running the command or login shell.
于 2012-11-16T00:58:08.817 回答