schroot:传递一个命令,就好像它在shell中一样

时间:2010-06-19 05:49:42

标签: linux unix chroot

我想做类似的事情:

schroot -c name -u root "export A=3 && export B=4"

但是我收到了错误:

Failed to execute “export”: No such file or directory

换句话说,我希望能够以编程方式在schroot环境中执行shell命令。获得这种行为的正确方法是什么?

3 个答案:

答案 0 :(得分:5)

我建议:

schroot -c name -u root sh -c "export A=3 && export B=4"

这将使用'-c'选项运行shell,告诉它(shell)将以下参数作为要执行的命令(脚本)读取。同样的技术适用于其他类似命令:'su','nohup',......

答案 1 :(得分:4)

schroot -c name -u root -- export A=3 && export B=4

确保/etc/schroot/schroot.conf有

run-exec-scripts=true
run-setup-scripts=true

答案 2 :(得分:1)

你可以尝试

schroot -c name -u root "/bin/bash -c 'export A=3; export B=4'"

但这是我第一次听说schroot。而且出口看起来像是没用的......即使直接从命令行运行双引号的东西,看起来子shell也不想影响父级的环境。