我正在使用CocoaDialog在执行下载脚本期间提供一些反馈。我希望在我们进行指挥操作的同时提出一个不确定的进度条。这可以通过在操作期间将文本传递给CocoaDialog来实现。
http://cocoadialog.sourceforge.net/documentation.html#progressbar_control
我以为我可以使用一个命令来完成它,如下所示:
exec("curl -O $PATH_DOWNLOAD > $PATH_COCOADIALOG progressbar --indeterminate");
但这不起作用。
这是一个更深入的shell脚本,它采用不同的方式:
http://cocoadialog.sourceforge.net/examples/progressbar.sh.txt
任何提示或提示表示赞赏。
谢谢,
亚光
答案 0 :(得分:1)
这有效:
curl -O $PATH_DOWNLOAD 2>&1 | $PATH_COCOADIALOG progressbar --indeterminate
答案 1 :(得分:0)
您可以不使用命名管道。您提到的popen / pclose允许您通过匿名方式与流程进行通信。只有在处理非相关(父/子)进程时,命名管道才真正必要。
像这样:
$ pipe = popen(“| nameOfTheExecuable”); 写($ pipe,“Something”); .... pclose函数($管);
$ pipe是您可以用来写入子流程标准输入的句柄。