我正在使用运行 Alpine Linux 的 docker 容器。它异步运行一些 bash 脚本
bash myscript.sh $param1 $param2 &>/dev/null &disown
第一次运行时,它似乎没有执行任何应该写入某个数据库的操作,但是当我第二次运行时
bash myscript.sh $param3 $param4 &>/dev/null &disown
它确实有效,但它使用之前运行的参数,即 param1 和 param2。
没有 &>/dev/null &disown
它从第一次就可以正常工作
有人可以向我解释一下这种行为吗
最佳答案
解决方案是添加延迟
bash myscript.sh $param1 $param2 &>/dev/null &disown
sleep 1
可能是因为它异步,脚本完成得太快 但我想听听更深入的解释
关于linux - 脚本从上次运行中获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43994304/