我正在写一个应该这样做的脚本......
chroot /chroot_dir/ su -
./startup.sh (This should run within the su environment)
我尝试过这种方法:
chroot /chroot_dir /bin/bash -c " su -; ./startup.sh"
这会尝试执行用户切换和脚本作为字符串命令来打击......但是它做了什么,是否“停止”之后 “su - ”并且不执行脚本。 但是,一旦我离开“su - ”环境,它确实尝试运行startup.sh,但当然,它无法找到它。
基本上我需要将“startup.sh”嵌套在“su - ”环境中运行...
有什么想法吗?
非常感谢
答案 0 :(得分:31)
试
chroot /chroot_dir /bin/bash -c "su - -c ./startup.sh"
答案 1 :(得分:19)
chroot /chroot_dir /bin/bash -x <<'EOF'
su -
./startup.sh
EOF
答案 2 :(得分:1)
基本选项:
cat << EOF | chroot /chroot_dir
touch aaaaa
touch bbbbb
EOF
选项与不同的shell(例如,如果使用bash但在chrooted环境中它不存在)
cat << EOF | chroot /chroot_dir /bin/sh
touch aaaaa
touch bbbbb
EOF