如何在 chroot 环境中执行 for 循环

how to execute for loop inside chroot enviroment

执行此脚本,它 returns 变量 i 中没有任何内容,实际上它并没有创建解决此问题的方法

chroot $ROOT /bin/sh -c "for i in ../autoconf-patch/* ; do patch < $i ; done; ./configure ; make install "

$i returns 没什么 /bin/sh : 语法错误; “;”意外的(期待词) 意味着它认为“;”在命令 patch < $i 之后,这意味着 $i 为空并抛出该错误

尽量使用单引号,例如:

/bin/sh -c 'i=3; echo $i'

如果你使用双引号 " 变量将被扩展,你可以从你的例子中尝试这个:

chroot $ROOT /bin/sh -c 'for i in ../autoconf-patch/* ; do patch < $i ; done; ./configure ; make install'