我的应用程序允许用户将源目录的安装绑定到目标安装点。除安装程序在纠正它的过程之外不存在该安装程序之外,所有其他方法均正常工作。
我把这个问题归结为一个非常简单的脚本。
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo ""
echo "<p>Hello</p>"
echo "<p>Results from pid #{$$}:</p>"
echo "<ul>"
c="sudo mkdir /shares/target"
echo "<li>Executed '$c', Results: " $(eval $c) "</li>"
c="sudo mount --bind /root/source /shares/target"
echo "<li>Executed '$c', Results: " $(eval $c) "</li>"
c="sudo mount | grep shares"
echo "<li>Executed '$c', Results: " $(eval $c) "</li>"
c="sudo cat /proc/mounts | grep shares"
echo "<li>Executed '$c', Results: " $(eval $c) "</li>"
echo "</ul>"
Run Code Online (Sandbox Code Playgroud)
前两个命令创建安装点并执行安装。最后两个命令验证结果。该脚本执行没有问题。但是,该安装座不可见或在单独的外壳过程中不可用。在单独的外壳程序中执行最后两个命令不会显示安装可用。如果我尝试执行“ rm -rf / shares / target”,则会得到“ rm:无法删除'/ …