我正在使用名为AutoTouch的iOS应用程序。此应用程序使用基于Lua语言的脚本。 AutoTouch的开发人员包括调用io.popen功能的可能性,但是我无法找到任何可以理解的"其使用的例子。
例如,我找到了这个描述:
io.popen(prog[,mode])
在一个单独的进程中启动程序prog并返回一个文件句柄,您可以使用该句柄从该程序读取数据(如果mode是" r",默认值)或将数据写入此程序(如果模式是" w")。
这是否意味着在此功能的帮助下,可以使用可通过常规iOS终端访问的任何命令或应用程序(在越狱系统上)?
我之所以问的原因是因为我想将保存在AutoTouch默认文件夹中的屏幕截图复制到Camera Roll文件夹。我以为我可以用某种方式使用Terminal的命令来做到这一点。
答案 0 :(得分:3)
popen
的主要 p 表示管道。此函数是C function周围的一个瘦包装器,它通过命令prog
启动一个进程,另外在主机(您的程序)和生成的进程之间构建一个管道,方向为mode
。此管道允许通信,因此您可以读取进程到目前为止写入标准输出的内容,或者进程等待标准输入,您可以使用此服务。它经常被用于获取流行的Unix程序的输出,这些功能很难作为源代码编写。
对于文件副本,使用popen
是一种肮脏的方式。遗憾的是,没有os.copy
函数,因此您必须使用io.*
函数(以二进制模式打开二进制文件,如图像)。