英语法语西班牙语

Ad


OnWorks 网站图标

comgt - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 comgt

这是 comgt 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


comgt - 选项 GlobeTrotter GPRS/EDGE/3G/HSDPA 和 Vodafone 3G/GPRS 数据卡控制
工具

概要


康格特 -d 设备 -hstvVx 脚本

配置


-d 设备
设置用于与数据卡通信的设备。 如果不
指定然后 comgt 尝试 /dev/noz2, /开发/ttyUSB2 然后 /开发/调制解调器

-e
打开串行通信回显。

-h
显示摘要帮助并退出。

-s
不要运行内部 默认 外部脚本之前的脚本。

-t
更改为备用行终止符(默认为“0”)。

-v
以详细模式运行。 这会在脚本执行时跟踪脚本。 这是
旨在帮助调试脚本。

-V
打印版本信息。

-x
对于内部和外部脚本,对 115200 波特的任何引用都是
转换成57600。这个对不喜欢115200的数据卡很有用
波特,例如 GlobeTrotter EDGE。

商品描述


康格特 是一种脚本语言解释器,用于建立串行通信
线并通过 PCMCIA 调制解调器以及 GPRS 和 3G 数据卡。

康格特 具有一些在同类型的其他实用程序中很少发现的功能。

特征
- 用于 2G/3G 数据卡控制的预定义内置脚本
- 简单的、类似 BASIC 的脚本语言。
- 脚本的命令行和文件来源。
- 多响应等待。
- waitquiet 允许线路稳定。
- 在线文本捕获。
- 多进程支持:fork、wait、kill、exit。
- 调试详细和日志输出。
- 记录到文件。
- 流程控制:goto、gosub、return、if、else。
- 对系统资源影响小。
- 时间命令和功能。
- 字符串操作。
- 环境操作:env()、putenv。
- 外部实用程序系统调用:system、exec。

支持 GPRS的 3G 数据卡
康格特 已针对 GlobeTrotter GPRS、EDGE、Combo EDGE、3G、3G EDGE、HSDPA 和
GlobeTrotter Fusion 以及 Vodafone 3G。 可以设置PIN和显示信息
关于在 PPP 连接开始之前的数据卡。 此外,由于
GlobeTrotter 和 Vodafone 3G/GPRS 数据卡有一个二级串行接口,这些
当 PPP 连接存在并传输数据时,可以监视数据卡。

康格特 主要设计用于与 GlobeTrotter 系列数据卡一起使用,但应该
与任何其他 GPRS 或 3G 数据卡兼容,前提是其接口实现为一个
或更多串行或 USB 串行设备,并由实现控制和查询
Hayes 命令接口与列出的命令使用相同的 AT 命令扩展
数据卡。

运用 康格特
康格特 只有一个功能:运行脚本。 这可能是众多“标准”之一
内部脚本或外部脚本。 两种类型的脚本都以相同的方式调用。
“标准”脚本内置于 康格特 并将适用于串行连接的调制解调器,
内置调制解调器、PCMCIA 调制解调器以及 GlobeTrotter GPRS 和 Vodafone 3G/GPRS
数据卡。 脚本有一个搜索优先顺序 - 1)内部,2)工作
目录,3)/etc/comgt

内建的 脚本
康格特
这将运行默认的内部脚本。 跑步 康格特 没有指定任何脚本,例如,
康格特 -d /开发/ttyS1 它将检查 PIN 并提示您是否需要。 下一个
它所做的就是等待设备注册,然后报告信号强度。 如果
你没有指定一个端口 -d 然后选择 /开发/调制解调器 假设。 如果 -s 开关
未使用,则此默认脚本在任何外部脚本之前运行。

康格特 帮助
列出这些和其他可用选项。

康格特 info
列出数据卡配置。

康格特 SIG
打印信号强度。

康格特
打印注册状态。

康格特 3G
将 GlobeTrotter 3G/Fusion 和 Vodafone 3G 置于仅 3G 网络模式 (UMTS/HSDPA)。

康格特 2G
将 GlobeTrotter 3G/Fusion 和 Vodafone 3G 置于仅 2G 网络模式 (GSM/GPRS/EDGE)。

康格特 3G2G
将 GlobeTrotter 3G/Fusion 和 Vodafone 3G 置于 3G 首选模式(UMTS/HSDPA 和
GSM/GPRS/EDGE)。

康格特 格特吉
使用此命令初始化 GlobeTrotter EDGE 和 GlobeTrotter Combo EDGE 卡之前
做其他任何事情。 (它打开收音机)。

康格特 美国
切换到 900/1900 MHz 频段以进行美国操作。 仅限 GlobeTrotter GPRS 数据卡。

康格特 欧洲
切换到 900/1800 MHz 频段以进行欧洲操作。 仅限 GlobeTrotter GPRS 数据卡。

康格特 密码
测试 SIM PIN 状态并使用环境变量 COMGTPIN 作为值。

康格特 APN
将数据卡的 APN 设置为 COMGTAPN 环境变量中包含的值。

定制版 脚本
除了内置脚本,您还可以制作自己的脚本。 以下脚本设置了 Vodafone 3G
数据卡或选项融合卡的 UMTS 模式到 GPRS:

#设置仅GPRS模式
设置 com 115200n81
设置发送延迟 0.05
等待安静 1 0.2
发送“AT_OPSYS=0^m”
打印“仅设置 GPRS 模式”

如果您将上述脚本保存为 GPRS,您可以这样称呼它:

康格特 GPRS的

如果您还需要指定端口,请执行以下操作:

康格特 -d /开发/ttyS1 GPRS的

您还可以将环境参数传递给 康格特 脚本通过 $env()。

更换 即时通话
即时通话 是 ppp 包(无论如何对于 Linux)附带的实用程序,它带有一组
期望发送字符串对,足以将大多数人连接到 ISP 等。 尽管
聊天的使用很简单,不是很灵活。 那就是那里 康格特 接手。

康格特 可以代替 即时通话 使用相同的策略。 例如,一个 pppd 行
读:

pppd连接\
´chat -v "" ATDT5551212 CONNECT "" ogin: ppp \
词:白水' \
/dev/cua1 38400 调试 crtscts 调制解调器默认路由

会,使用 comgt, 读:

pppd 连接'comgt -s /root/scripts/isp.scr' /dev/cua1 38400 \
调试 crtscts 调制解调器默认路由

isp.scr 脚本将显示为:

发送“ATDT5551212^m”
等待 60 “开始:”
发送“ppp^m”
等待 60 “字:”
发送“白水^ m”

当然,通过以下方式使该脚本更具功能性变得微不足道
添加忙线检测、重拨等代码...

详细 产量
当详细选项打开时, 康格特 报告标准错误的一切
渠道。 如果从命令行 (-v) 打开,则输出包含 4 个部分。

- 命令行参数操作
这些是因为它们是从命令行指定而采取的操作,例如
打开通信设备(-d)等...要输出这些,您必须指定 -v
作为第一个论点。

- 参数列表
传递的参数数量和列表。 如果您有一堆
命令行上的环境变量或引号、反引号、反斜杠
不确定脚本真正看到了什么。

- 脚本列表
要执行的脚本列表。 这可能是默认内部的串联
脚本,除非这被 -s 选项和脚本文件禁止。 每一行都是
列出其行号和字符位置。

- 执行输出
执行时的命令列表。 解析器打印当前所在的行,
从它在到行尾的确切点开始。 多个命令
一行上的组产生多个输出行。 详细输出可能与
脚本输出(print、eprint 或 lprint。)

这是一个例子:

$ comgt -v -d/dev/cua1 -s blah.scr
comgt 00:18:46 -> 启用详细输出
comgt 00:18:46 -> 脚本文件:blah.scr
comgt 00:18:46 -> argc:5
comgt 00:18:46 -> argv[0]=comgt
comgt 00:18:46 -> argv[1]=-v
comgt 00:18:46 -> argv[2]=-d/dev/cua1
comgt 00:18:46 -> argv[3]=-s
comgt 00:18:46 -> argv[4]=blah.scr
comgt 00:18:46 -> ---脚本---
1@0000 设置 com 38400n81 让 a=2
2@0025 打印 "9x",a,"=",9*a,"\n"
3@0051 睡眠 5
4@0059 退出 0
comgt 00:18:46 -> ---脚本结束---
comgt 00:18:46 -> @0000 set com 38400n81 让 a=2
comgt 00:18:46 -> @0017 让 a=2
comgt 00:18:46 -> @0025 打印 "9x",a,"=",9*a,"\n"
9x2 = 18
comgt 00:18:46 -> @0051 睡眠 5
comgt 00:18:51 -> @0059 退出 0

代码编程 手册


句法
使用的语法 康格特 脚本相当简单,有点像 BASIC。 脚本是一个
包含由换行符终止的行的非标记化纯 ASCII 文本文件
(Unix 标准。)可以使用任何标准文本编辑器创建和/或修改脚本
(vi, vim, joe, pico, emacs, ed, microEmacs) 行 康格特 脚本如下:

- 空行
- [缩进]rem 备注
- [indent][[:|label] LABEL] [command [arguments]] rem 备注
- [缩进][[:|label] 标签] [命令 [参数]] [命令 [参数]]...

用于缩进的字符是空格和制表符。
rem 命令使脚本解析器跳过该行的其余部分。
rem 命令也可以写成“#”或“//”。

标签由小写和大写字母和数字组成。
标签中忽略大小写。

命令及其参数由空格和/或制表符分隔。
命令组由空格、制表符或换行符分隔。

表达式不得包含空格或制表符。
没关系:让 n=x+76
这不是:让 n= x + 76
因为这个空格 ^ 会终止 let 命令组。

误差 报告
什么时候 康格特 检测到脚本错误,它立即打开详细模式,生成转储
(见dump命令),三行报错并停止执行。 这
报告的第一行是正在执行的命令组,第二行显示
解析器得到,第三行报告程序计数器的字符位置,
错误和退出代码。

这是一个例子:

$ comgt -vs blar2.scr

blar2.scr 脚本在哪里:

公司
十二月三日
让 a=58/3
让 $d="食物"
让 c=1/0
让 $y4="sdfgsdfgsdfg"

跟踪和错误报告如下所示:

comgt 11:20:15 -> 启用详细输出
comgt 11:20:15 -> 脚本文件:blar2.scr
comgt 11:20:15 -> argc:3
comgt 11:20:15 -> argv[0]=comgt
comgt 11:20:15 -> argv[1]=-vs
comgt 11:20:15 -> argv[2]=blar2.scr
comgt 11:20:15 -> ---脚本---
1@0000 公司
2@0007 十二月 d3
3@0015 让 a=58/3
4@0027 让 $d="fod"
5@0041 让 c=1/0
6@0052 让 $y4="sdfgsdfgsdfg"
comgt 11:20:15 -> ---脚本结束---
comgt 11:20:15 -> @0000 inc n
comgt 11:20:15 -> @0007 3 月 dXNUMX
comgt 11:20:15 -> @0015 让 a=58/3
comgt 11:20:15 -> @0027 让 $d="fod"
comgt 11:20:15 -> @0041 让 c=1/0
comgt 11:20:15 -> -- 错误报告 --
comgt 11:20:15 -> ----> ^
comgt 11:20:15 -> 错误 @49,第 5 行,被零除。 (6)

Exit 退出 代码
什么时候 康格特 终止,它使用“退出代码”来完成。 这是一个传递回的数字
表示成功或失败的调用过程。 在日常 Unix 中,0(零)表示
成功和其他一切都意味着程序作者想要它意味着什么。 在
一个shell脚本,或者直接在命令行上,你可以看看内容 $? after
打过电话 康格特 检查其退出代码。

示例:

#!/ bin / sh的
comgt /root/bin/call-isp
如果 [$? != 0 ]; 然后
” echo “糟糕!出了点问题。
fi

内部 康格特 错误代码如下:

0:没有任何问题。 显然。
1:通讯设备问题。
2:控制台(tty)设备问题。
3:内存问题。
4:文件或管道问题。
5:语法错误。
6 : 除以零。
7:变量管理不善。
8:系统问题。 (无法调用 / bin / sh的 或一些这样的)

命令
命令 :: 别名:标签
描述:注释 goto 或 gosub 分支到的锚点。
语法:关键字不得包含任何特殊字符。
注意:必须是一行中的第一个语句。
另请参见:goto、gosub、return。
示例:
:循环
勇敢的人
print "时间是 ",$time(),"\n"
睡1
转到循环
标签勇敢
打印 "Twonk!\n"
回报

命令:中止
描述:导致 comgt 调用 abort() 并产生核心转储。
语法:中止
另见:转储,退出。

命令:cd
描述:更改目录。
语法:cd 目录
注意:如果无法进行更改,则以 % 的形式返回 -1。
注意:目录是一个字符串,因此可以是一个变量。
另见:$cwd()。
示例:
cd "呸"
if % != 0 打印“Could not cd into duh.\n”

命令:关闭
描述:关闭以前用 open 打开的文件。
语法:关闭文件
另请参见:打开。

命令:十二
描述:将整型变量的内容减 1。
语法:dec x
注:x 是从 a 到 z 或 a0 到 z9。
注意:请注意,“let x=x-1”也有效。
另请参见:let, Inc.

命令:转储
描述:列出所有非零整数变量和修改后的字符串
描述:变量作为日志条目(标准错误通道。)
语法:转储
另请参见:中止、退出

命令:否则
描述:如果最后一个“if”测试为假,则执行命令。
语法:else 命令...
另请参见:如果
示例:
如果 w<350 打印“哇!想象一下。\n”
否则打印“拉什林博是个大胖子。\n”

命令:eprint
描述:在 stderr 上打印逗号分隔的参数列表。
语法:eprint var,stringvar,"text",...
注意: 像打印一样,但在标准错误文件描述符上。
注意:错误输出可以通过“2>file”重新定向
注:命令行。
另见:打印。

命令:执行
描述:用另一个进程替换当前的 comgt 进程。
语法:exec "command -args..."
另见:系统,叉。
示例:
#完成脚本,调用cu。
exec "cu -l "+$dev()+" -s "+$baud()

命令:退出
描述:使用退出代码终止脚本执行。
语法:exit exit_code
另请参见:中止、转储。
示例:
:错误
退出1
:斯麦吉特
退出0

命令:闪光
说明:在指定时间内切换通信设备上的 DTR。
语法:flash float_constant
注意: float_constant 精确到 1/100 秒。
注意:导致调制解调器丢弃载波或进入命令模式,
注意:取决于调制解调器设置。 将波特率设置为 0
备注:一时间有同样的效果。
另请参阅:睡眠,设置 com。
示例:
:断开
flash 0.5
退出0

命令:fprint
描述:打印文件中逗号分隔的参数列表。
语法: fprint var,stringvar,"text",...
注释:类似于打印,但附加到先前打开的文件中
备注:按开。
另见:打印。

命令:叉
说明:forks comgt 进程分为两个。 两个过程都在继续
描述:执行脚本。
语法:叉
注意: % 为子进程返回 0,为子进程返回新进程 ID
注意: parent 或 -1 表示错误。
另请参见:等待、杀死、pid()、ppid()。
示例:

如果 % = -1 转到错误
如果 % = 0 转到孩子
:父母
...

命令:获取
描述:从通信设备获取字符串。
语法:get timeout "terminators" $string
注意:超时是一个浮点常量,终止符是一个
注释:接收时终止的字符列表
笔记:得到。 第一次接收时会忽略终止符。
另请参见:等待。
示例:
等待 60 “连接”
如果 % != 0 转到错误
得到 2 " ^m" $s
打印“连接参数:”,$s,“\n”

命令:gosub
描述:调用子程序。
语法:gosub 标签
注意:目前comgt只支持128级gosub
注释:调用(足够了!)
另见::,转到,返回。
示例:
gosub例程
睡1
gosub例程
转到结束
:常规
打印 "Flim-flam!\n"
回报

命令:转到
描述:将执行发送到脚本中的其他地方。
语法:转到标签
另见::,gosub,返回。
示例:
:win95
print "今天想去用 Linux,谢谢。\n"
转到win95

命令:hset
描述:设置百个定时器。
语法:hset 值
注意:此命令将数百秒计时器重置为
注意: htime 的起始值。
另见:htime()。
示例:
0
:循环
打印 "时间以 1/100 秒为单位:",htime(),"\n"
睡0.01
转到循环

命令:如果
描述:测试条件
语法:如果 test_condition 命令...
注意:如果测试条件为真,则 Conditionnaly 执行命令。
注意:测试运算符是 =(等于)、!=(不等于)、
注:<>(不等于)<(小于)、>(大于)、
注:<=(小于或等于),>=(大于或等于)。
注意:所有运算符都可以用于整数和字符串。
注意:如果 test_condition 为 false,则跳转到
注释:下一行。
另请参见:其他。
示例:
如果 n>30 打印“Oh-ho!太多的羊!\n”转到错误
如果 n=17 打印“万岁!我们有足够的羊\n”转到派对
如果 n<17 打印“Murray,得到更多的羊。\n”转到 getmore
如果 $z < "Marmaluke" 转到 ...
如果 3*a>5+b 转到 ...

命令:公司
描述:将整数变量的内容增加 1。
语法:inc x
注:x 为 az 或 a0-z9。
另见:dec,让。

命令:输入
描述:从键盘输入字符串到字符串变量中。
语法:输入 $x
注意:输入仅使用 ENTER 键终止输入。
备注:空格、制表符和其他有趣的字符都是
注释:存储在变量中。
另见:设置回声。
示例:
打印“输入您的全名:”
输入 $n4

命令:杀死
描述:向进程发送信号。
语法:终止信号进程ID
注意:signal 和 processID 都是整数值。 与...一样
注意:标准的 unix kill 除了信号别名不是
注意:接受和信号不是可选的。
注意:如果可以发送信号,则以 % 的形式返回 0,-1
注:否则。
注意:信号 0 可用于检测进程是否存在。
另请参见:等待、pid()、ppid()。
示例:

让 p=%
如果 p = 0 转到孩子
睡300
杀死 15 p
睡1
杀死 0 p
if % != 0 打印“子进程终止\n”转到确定
print "无法终止子进程!\n"
杀死 9 p
睡1
杀死 0 p
如果 % = 0 打印“无法杀死孩子!\n”转到错误
打印“孩子被杀。\n”
:好
...

命令:让
描述:进行变量赋值。
语法:让 x=content
注:x 是 [$]a0-z9。
另见:公司,十二月。
示例:
让 a=5
让 b=(time()-a)+5
让y7=6809
让 z=0%11010111 #Binary
让 z=077324 #octal
让 z=0xf5b8 #十六进制
让 $c="丹尼尔"
让 $d=$c+"Chouinard"
让 $s5="Frimpin´ Jeosaphat!"

命令:lprint
描述:将逗号分隔的参数列表打印到日志。
语法: fprint var,stringvar,"text",...
注意: 像打印一样,但如果启用了详细信息,则像打印日志条目一样打印。
注意:日志记录被发送到 stderr。
另请参阅:print、eprint、fprint。

命令:打开
描述:打开文件或通讯设备。
语法:打开com设备,打开com(stdin),打开文件FILE
另见:关闭。
示例:
打开com/dev/cua1
设置 com 38400n81
打开文件“/tmp/log”
fprintf "这是一个日志\n"
关闭文件

命令:打印
描述:打印逗号分隔的参数列表。
语法:打印 var,stringvar,"text",...
注意:不会自动添加空格和换行符。
另请参见:eprint、fprint、lprint。
示例:
让 b=26
让 $c="文本变量"
打印 "常量文本 ",b," ",$c," time: ",$time(),"\n"

命令:putenv
描述:设置环境变量。
语法: putenv "var=content"
注意:环境变量自动导出,
备注:再也没有回来。 子进程继承
备注:环境。
另见:$env()。
示例:
putenv "SCRIPTDIR=/usr/lib/comgt/scripts"
system "dothat" # dothat 读取 env. 变种脚本目录...

命令:rem 别名:#, //
说明:备注。 其余行被忽略。
语法:请注意,“rem”后面必须有一个空格。
示例:
#这是备注
// 也是这样
rem 这不是没有迪斯科。

命令:返回
描述:从子程序返回。
语法:返回
另请参见:gosub。

命令:发送
描述:发送一个字符串到通信线路(通常是调制解调器)。
语法:发送字符串
注意:回车符 (ENTER) 不会自动发送
注意:(使用^m)。
示例:
发送“atdt555-1212^m”
发送 $g+"^m"
发送“时间是”+$time()+“^m^j”

命令:设置
描述:设置工作参数。
语法:设置参数值
注意事项:

命令说明
----------------------------- --------------------- -----------------------------
set echo on|off 键盘回声在屏幕上。
set comecho on|off 接收到的字符在屏幕上回显。
设置 senddelay time_constant “发送”的中间字符延迟
set ignorecase on|off "waitfor" 区分大小写。
默认=开启。
设置 clocal on|off clocal on = 忽略调制解调器信号
设置 umask 模式文件模式创建默认值。
见男子 umask。
set verbose on|off verbose on = 启用调试输出。
设置 com com_params 通信参数。
例如:19200n81、300e71
波特率 |||
平价 |
数据位 |
停止位 |

示例:
关闭回声
打印“密码:”
输入 $p
打印“\n”
设置回声
设置回声
设置本地化
设置发送延迟 0.1
设置忽略大小写
设置 com 38400n81
set umask 022 # 必须是八进制(前导零)
...

关于 clocal 的注意事项:
如果希望您的脚本在载体检测后继续工作
信号已掉线,设置 clocal on,否则,CD 掉线会导致
设备线关闭(挂断)。 这可能发生,如果,
假设您的脚本调用并连接,然后断开连接或
删除 dtr(闪存),然后再次尝试重新连接。

命令:睡眠
描述:暂停执行。
语法:sleep float_constant
注意: Float_constant 精确到 1/100 秒,除非
备注:超过100秒,在这种情况下精度
注意:下降到 1 秒。

示例:
睡0.06
睡3
睡眠 86400 /* 一整天 */

命令:系统
描述:调用系统 (unix) 命令
语法:系统“命令”
另请参见:执行。
示例:
:目录
打印 "目录列表 ",$cwd(),\n"
系统“ls -l |更多”

命令:testkey
描述:测试键盘的击键,如果存在,则以 % 的形式返回 1。
语法:testkey
注意:只能测试 ENTER 键。 comgt 的未来版本
注意:将测试更多并以 % 返回键码。
另见:输入。
示例:
让 n=1
:循环
打印 n,"羊... ZZZzzz...\n"
睡觉
公司
测试密钥
如果 % = 0 转到循环

命令:等待
描述:等待子进程终止。
语法:等待
注意:已终止子进程的进程 ID 以 % 返回
另见:叉,杀。
示例:

让 p=%
如果 p=0 转到孩子
如果 p=-1 转到错误
打印“等待孩子完成...”
等待
打印“\n”
if %!=p print "Wait got wrong PID!\n" goto error
打印 "孩子完成了。\n"

命令:等待
描述:等待直到收到字符串列表之一
语法:waitfor timeout "string1","string2","string3"...
注意:超时是一个浮动时间常数。 等待安静返回
注意:0 表示收到的第一个字符串,1 表示第二个字符串,依此类推...
注意 : 和 -1 表示超时。 默认情况下忽略大小写,除非
注意: ignorecase 设置为关闭。
另请参见:获取。
示例:
:拨号
发送“atdt555-4411^m”
等待 60 “无运营商”、“忙”、“无拨号音”、“连接”
如果 % = -1 转到超时
如果 % = 0 转到 nocd
如果 % = 1 转到重拨
如果 % = 2 转到错误
如果 % = 3 转到连接

命令:waitquiet
说明:等待通信线路停止接收一段时间。
语法:waitquiet timeout quiettime
注意: timeout 和 quiettime 都是浮动时间常数
备注:1/100 秒。 准确性。 用于“吞咽”
注意:输入字符一段时间或等待
备注:未知提示。
示例:
: 关闭
发送“注销^米”
等待安静 10 0.5
发送“是 ^ m”

整数 功能
I-Function : 访问
描述:验证对文件的访问权限
语法: let x=access("/tmp/file","frwx")
注意:第二个字符串包含一个或多个
注意: 'f', 'r', 'w', 'x' 分别检查
注意:存在、读、写和执行权限。
注意:在 root id 下,唯一有用的检查是“f”,如
注意:所有其他人都将返回 true。
返回值: 0 如果文件存在,是可读的,可写的,
返回值:可执行文件,否则 -1。
另请参见: ACCESS(2)

I-Function : 波特
说明: 返回通信线路的当前波特率。
语法:让 x=baud()
注意:不一定与调制解调器连接速度相匹配。
另见:$baud()。

I-功能 : len
描述:返回字符串的长度。
语法:让 x=len($s)
注:“”为零。 字符串当前的最大长度为
注释:1024 个字符。 comgt 不处理字符串溢出
笔记: 一点。

I-功能:htime
描述:返回自脚本启动以来的数百秒。
语法:让 x=htime()
注意:使用 hset 设置为特定值。
另见:hset。

I函数:pid
描述:返回当前进程的进程 ID 号 (comgt)
语法:让 x=pid()
另见: ppid(), fork

函数:ppid
描述:返回父进程的进程 ID 号。
语法:让 x=ppid()
注意:可以被分叉的孩子用来检测父母
备注:过程。

I-Function : 时间
描述:返回自格林威治标准时间 1 年 00 月 00 日 00:1970:XNUMX 以来的时间(以秒为单位)。
语法:让 x=time()
注:用于计算时差。
另见: $time()

I-函数:val
描述:返回字符串的值。
语法:让 x=val($x)
注意:字符串不是表达式; 必须只包含 [0-9]
注释:字符。 comgt 的未来版本将能够
注意:计算表达式。 (也许)(这是写 6
笔记:几年前。)

I-Function : 详细
描述:返回详细设置的值。
语法:让 x=verbose()
注意:0=关闭,1=开启。

功能
S-Function : 基本名称
描述:返回路径的基本名称部分。
语法:让 $x=$basename($p)
注释:$basename("/usr/bin/more")="more"
另见:$dirname()。

S-Function : 波特
描述:返回当前波特率的字符串表示形式。
语法:让 $x=$baud()
注释:由“set com”定义
另见:波特(),设置com。

S-功能 : cwd
描述:返回当前工作目录路径名。
语法:让 $x=$cwd()
另请参见:cd。

S-功能:开发
描述:返回当前通信设备路径名。
语法:让 $x=$dev()
注意:由“-d”命令行参数或“open com”定义
另请参见:打开 com。

S-Function : 目录名
描述:返回路径的目录名部分。
语法:让 $x=$dirname($p)
注释:$dirname("/usr/bin/more")="/ usr / bin"
另见:$basename()。

S-功能:环境
描述:返回环境变量的内容
语法: let $x=$env("HOME")
注意:不存在的变量返回一个空字符串。
另请参见:putenv。

S 功能:十六进制
描述:将值转换为十六进制表示
语法:让 $x=$hex(x)
注意:小写字母 af,前面没有“0x”
另见:$hexu()、$oct()。

S-Function : 和旭
描述:将值转换为十六进制表示
语法:让 $x=$hex(x)
注意:大写字母 AF,前面没有“0x”
另见:$hex()、$oct()。

S-功能:hms
描述:将秒数转换为时间字符串
语法:让 $x=$hms(x)
注:格式为“HH:MM:SS”。 对天文钟显示有用
注意:与“time()”一起使用,不要尝试增加变量
注意:每秒使用“sleep 1”。 (参见 ISP 脚本示例)
注意: 99 小时 59 分钟后,格式变为“HHH:MM:SS”,
备注:59s...
另见:时间()。

S-Function : 左
描述:返回字符串的左边部分
语法:让 $x=$left($s,l)
注释:$s=源字符串,l=长度
注意: l 必须小于字符串的长度。
另见:$right(), $mid()。

S-Function : 中
描述:返回字符串的中间部分。
语法:让 $x=$mid($s,s,l)
注释:$s=源字符串,s=开始,l=长度
注意:s必须小于字符串的长度,l可以
注意:一些巨大的数字 (9999) 返回 a 的右侧
注释:字符串到最后。 字符串的第一个字符是
注意:位置 0,而不是 1。
另见:$right(), $left()。

S-功能:八月
描述:将值转换为八进制表示。
语法:让 $x=$oct(x)
另见:$hex()、$hexu()。

S-Function : 对
描述:返回字符串的右侧部分。
语法:让 $x=$right($s,l)
注释:$s=源字符串,l=长度
注意: l 必须小于字符串的长度。
另见:$left()、$mid()。

S-功能:rpipe
描述:返回系统管道命令的第一行
语法:让 $x=$rpipe("/ bin / ls |grep 我的文件")
注意:除非与 head、tail、grep、
备注:等...
另见:系统。

S-Function : 时间
描述:返回 24 个字符的本地时间字符串
语法:让 $x=$time()
另见:时间()。
注意:时间格式如下:Mon Apr 8 14:21:22 1996
012345678901234567890123
1 2

S-Function : 降低
描述:返回小写字符串。
语法:让 $x=$tolower($y)

S-功能 : toupper
描述:返回大写的字符串。
语法:让 $x=$toupper($y)

测试 运营商
运算符 描述 示例 结果
= 等于 1+2=3 是
!= 不等于 1+2!=3 否
<> 不等于 1+2<>3 否
> 大于 if 1+3>3 是
< 小于 if 1+3<3 否
>= 大于或等于如果 3>=3 是
<= 大于或等于如果 2<=3 是

可以使用相同的运算符比较字符串。

"aaa" < "aab", "aaaa" > "aaa", "Test" != "test", "One" = "One",
"A" > "a", "Fumble" <= "Fumigate", " Farsical" <> "Commedic"

备注 “set ignorecase on”不适用于字符串比较。

口语 运营商
运算符 描述 示例 结果
+ 加法令 a=2+2 4
+ 连接 let $b="aa"+"bb" "aabb"
- 减法让e=2-5 -3
* 乘法令 f=11*2 22
/除法令g=34/11 3
& 按位 AND 让 h=42&7 2
| 按位或让 a=42|5 47
^ 按位异或令 a=42^7 45

混合表达式示例:

#返回自 00:00:00 以来的秒数
let $t=$time() #拍摄快照。
let a=(val(mid$($t,11,2))*3600)+(val(mid$($t,14,2))*60)+val(mid$($t,17,2))
#注意额外的括号,因为comgt的表达式
#evaluator 是脑残。
#例如,5-2+1应该给你4,对吧? 那么,根据
#getvalue(),它实际上给出了 2,因为它有点来自
#右到左。
#所以要正确评估 5-2+1,请使用 (5-2)+1。 如果您正在使用
#简单的二元计算,不用担心。
#5-2 会给你 3。

#连接(调用 cu)
exec "cu -l "+$dev()+" -s "+$baud()"

#在测试条件下
如果 a+c > strlen($c) 转到太多

#字符串比较
让 $t=$mid($time(),11,8)
如果 $t > "19:59:59" 打印 "太晚了!\n" goto toolate
如果 $t < "08:00:00" 打印 "太早了!\n" 太早了
if $t = "00:00:00" 打印“哦天哪!现在是 Twinkee 时间!\n”

特点


getvalue() 解析器。 这让我发笑,所以我想我会就这样离开。 ——
[电子邮件保护]

环境 变数


COMGTPIN - 供 PIN 脚本使用的 SIM 卡的 4 位引脚 COMGTAPN - 要写入的 APN
数据卡,供 APN 脚本使用。

作者


丹尼尔·乔伊纳德[电子邮件保护]> 写了原文 控制器 效用。

保罗哈德威克[电子邮件保护]> 为最新的编译器更新它,提供内置
在脚本功能中,并针对 GPRS 和 3G 数据卡对其进行了测试。

马丁·格雷戈里[电子邮件保护]> 编写了原始联机帮助页 康格特 来自 控制器
文档和打包 康格特 分发。

发展历程
丹尼尔·乔伊纳德 (Daniel Chouinard) 写了大部分 (90%) 控制器 早在 1989 年,当他开始做 Unix Apps 时
技术支持主要通过调制解调器到客户系统。 他厌倦了打所有这些
每次使用 cu 时,密码和有趣的通话收费代码。 还有他工作的公司
需要一个可以记录通话时间和估计成本的系统。 因此 控制器 诞生了。
六七年后(1996 年),他使用 pppd 连接到他的 ISP 站点。 他是
或多或少满意 即时通话 但发现它缺乏流量控制和多重响应检查
来自“ atdt ...”。 他希望它为“无载波”、“无拨号音”和“无拨号音”做不同的事情。
“忙碌的”。 虽然他认为 即时通话 可能有一天会得到增强,当他发现
dcon.c 在他的一个旧的 45M 磁带上,他尝试在他的 Linux 机器上编译它,然后
看,它做到了。 最后,他添加了一些东西(kill,fork,wait,1/100 秒。
次),然后就这样了。

几年前 Paul Hardwick 发现了这个程序, 控制器 最后一次修改是在 1996 年。
该程序的目的是运行控制 Linux 串行端口的脚本。 这
实现与他为 Windows 编写的内容非常相似。 总之,不如
在重新发明之前,他联系了作者 Daniel Chouinard,并请求他允许重复使用
编码。 令人高兴的是,他给予了许可,并提供了一个基本但有用的实用程序,称为 康格特
创建。 除了使它与今天兼容之外,Paul 不信任引擎
编译器。 它基本上是 控制器 重新包装。

<span>2013-10-05</span> 康格特(1)

使用 onworks.net 服务在线使用 comgt


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad