我真的很陌生的shell脚本,我想弄清楚如何终止一个函数,在另一个函数内使用无限循环。 代码或多或less看起来像这样:
finish=1 function1() { function2& ... finish=0 } function2() { while [ $finish==1 ] do ... done }
而脚本的主要部分只调用函数1。 有没有其他方式来终止function2时function1完成? 我也试图用id来杀死它,但是不能使它工作。
git的Windows 7期待开发null找不到错误
家庭作业:如何使用bash shell来logging进程以进行审计?
Docker运行命令错误
为什么脚本结束后导出的variables为空?
bash中的函数调用将在子shell中执行。 您可以存储该子shell的pid,并在function1退出之前将其终止。 喜欢这个:
function1() { function2& pid=$! ... kill "$pid" } function2() { while true do ... done }