添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
[ Process = ] EXEC Command [ WAIT ] [ FOR { { READ | INPUT } | { WRITE | OUTPUT } } ] [ AS Name ] EXEC Command TO Variable [ WITH ERROR ] 通过运行子进程来执行命令。 将创建一个内部 Process 对象来管理该命令。 如果指定 WRITE ,可以用 Process 的通用输出语句( PRINT WRITE 、...)发送数据到命令行的标准输入。注意,为了能够这样做,需要一个 Process 的引用。 如果指定 READ ,每次命令行发送数据到其标准输出流时将有事件发生:当数据被发送到标准输出流时 Read 发生,当数据被送到标准错误输出流时 Error 发生。使用带 流与输入/输出功能 的进程对象读取进程标准输出。 如果使用 INPUT OUTPUT 关键字替换 READ WRITE ,进程被执行在虚拟终端中。 这意味着进程认为自己运行在真正的终端中。 您可以在命令参数后面使用 WITH 关键字为正在运行的进程指定新的环境变量:
[ Process = ] EXEC Command WITH Environment ... Environment 是一个字符串数组,每个字符串的格式如下: "NAME=VALUE" NAME 是环境变量的名称, VALUE 是它的值。 如果要删除环境变量,只需使用字符串 "NAME="

在虚拟终端内运行

如果进程在虚拟终端中运行,即如果使用 FOR INPUT / OUTPUT 语法,则可以将控制字符发送到进程标准输入,以获得与在真实终端中输入相同的效果。 ^C 停止进程, ^Z 暂停进程,依此类推。
虚拟终端只有一个输出。因此,正在运行的进程的标准错误输出可通过 Read 事件接收。
有些程序有一个命令行界面,只有在虚拟终端内运行时才能访问。
If you plan to control an application by sending commands to standard input then testing should be performed outside of the IDE (i.e. make an executable and launch it from the command line) as the console within the development environment is not a true virtual terminal and will cause unexpected results. 自Gambas 3.9以来,IDE控制台现在是一个真正的终端模拟器。