영어프랑스어스페인어

Ad


온웍스 파비콘

comgt - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 comgt 실행

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 comgt 명령입니다.

프로그램:

이름


comgt - 옵션 GlobeTrotter GPRS/EDGE/3G/HSDPA 및 Vodafone 3G/GPRS 데이터 카드 제어
수단

개요


comgt -d 장치 -ehstvVx 스크립트

옵션


-d 장치
데이터 카드와 통신하는 데 사용할 장치를 설정합니다. 그렇지 않은 경우
지정한 다음 comgt가 시도합니다. /dev/noz2, /dev/ttyUSB2 그리고 /dev/모뎀

-e
직렬 통신 에코를 켭니다.

-h
요약 도움말을 표시하고 종료합니다.

-s
내부를 실행하지 마십시오 디폴트 값 외부 스크립트 이전의 스크립트.

-t
대체 줄 종결자로 변경합니다(기본값 "0).

-v
상세 모드에서 실행합니다. 이것은 실행되는 스크립트를 추적합니다. 그것은
스크립트 디버깅을 돕기 위한 것입니다.

-V
버전 정보를 인쇄합니다.

-x
내부 및 외부 스크립트의 경우 115200 baud에 대한 참조는
57600으로 변환됩니다. 이것은 115200을 좋아하지 않는 데이터 카드에 유용합니다.
GlobeTrotter EDGE와 같은 전송 속도.

기술


comgt 직렬 통신을 설정하는 데 유용한 스크립팅 언어 인터프리터입니다.
라인과 PCMCIA 모뎀, GPRS 및 3G 데이터 카드를 통해.

comgt 같은 유형의 다른 유틸리티에서는 거의 볼 수 없는 몇 가지 기능이 있습니다.

특징
- 2G/3G 데이터 카드 제어를 위한 사전 정의된 내장 스크립트
- 단순하고 BASIC과 유사한 스크립트 언어.
- 스크립트의 명령줄 및 파일 소싱.
- 다중 응답 대기.
- waitquiet은 회선 안정화를 허용합니다.
- 인라인 텍스트 캡처.
- 다중 프로세스 지원: 포크, 대기, 종료, 종료.
- 디버깅 상세 및 로그 출력.
- 파일에 로깅.
- 흐름 제어: goto, gosub, return, if, else.
- 시스템 리소스에 대한 영향이 적습니다.
- 시간 명령 및 기능.
- 문자열 조작.
- 환경 조작: env(), putenv.
- 외부 유틸리티 시스템 호출: system, exec.

지원 GPRS 3G 데이터 카드
comgt GlobeTrotter GPRS, EDGE, Combo EDGE, 3G, 3G EDGE, HSDPA 및
GlobeTrotter Fusion 및 Vodafone 3G. PIN을 설정하고 정보를 표시할 수 있습니다.
PPP 연결이 시작되기 전에 데이터 카드에 대해. 또한, 왜냐하면
GlobeTrotter 및 Vodafone 3G/GPRS 데이터 카드에는 보조 직렬 인터페이스가 있습니다.
PPP 연결이 존재하고 데이터를 전송하는 동안 데이터 카드를 모니터링할 수 있습니다.

comgt 주로 GlobeTrotter 데이터 카드 범위와 함께 작동하도록 설계되었지만 다음과 같아야 합니다.
인터페이스가 하나로 구현되는 경우 다른 GPRS 또는 3G 데이터 카드와 호환 가능
하나 이상의 직렬 또는 USB 직렬 장치 및 구현에 의해 제어 및 쿼리됩니다.
나열된 것과 동일한 AT 명령 확장을 가진 Hayes 명령 인터페이스의
데이터 카드.

사용 comgt
comgt 스크립트를 실행하는 기능은 하나만 있습니다. 이것은 여러 "표준" 중 하나일 수 있습니다.
내부 스크립트 또는 외부 스크립트. 두 가지 유형의 스크립트는 동일한 방식으로 호출됩니다.
"표준" 스크립트가 내장되어 있습니다. comgt 직렬로 연결된 모뎀에서 작동합니다.
내장 모뎀, PCMCIA 모뎀, GlobeTrotter GPRS 및 Vodafone 3G/GPRS
데이터 카드. 스크립트에 대한 검색 우선 순위가 있습니다 - 1) 내부, 2) 작업
디렉토리, 3)/etc/comgt

내장 스크립트
comgt
그러면 기본 내부 스크립트가 실행됩니다. 달리기 comgt 지정된 스크립트 없이, 예:
comgt -d /dev/ttyS1 PIN을 확인하고 필요한 경우 메시지를 표시합니다. 다음
장치가 등록할 때까지 기다린 다음 신호 강도를 보고합니다. 만약에
당신은 포트를 지정하지 않습니다 -d 다음 옵션 /dev/모뎀 가정합니다. -s 스위치의 경우
이 기본 스크립트는 외부 스크립트보다 먼저 실행됩니다.

comgt 도움
이러한 옵션과 사용 가능한 기타 옵션을 나열합니다.

comgt 정보
데이터 카드 구성을 나열합니다.

comgt 시그
신호 강도를 인쇄합니다.

comgt 등록 번호
등록 상태를 인쇄합니다.

comgt 3G
GlobeTrotter 3G/Fusion 및 Vodafone 3G를 3G 네트워크 전용 모드(UMTS/HSDPA)로 전환합니다.

comgt 2G
GlobeTrotter 3G/Fusion 및 Vodafone 3G를 2G 네트워크 전용 모드(GSM/GPRS/EDGE)로 전환합니다.

comgt 3G2G
GlobeTrotter 3G/Fusion 및 Vodafone 3G를 3G 기본 모드(UMTS/HSDPA 및
GSM/GPRS/EDGE).

comgt 지테지
이 명령을 사용하여 GlobeTrotter EDGE 및 GlobeTrotter 콤보 EDGE 카드를 초기화하기 전에
다른 일을 하고 있습니다. (라디오를 켭니다.)

comgt USA
미국 작업의 경우 900/1900MHz 대역으로 전환합니다. GlobeTrotter GPRS 데이터 카드 전용.

comgt 유럽
유럽에서 작동하려면 900/1800MHz 대역으로 전환하십시오. GlobeTrotter GPRS 데이터 카드 전용.

comgt PIN
SIM PIN 상태를 테스트하고 환경 변수 COMGTPIN을 값으로 사용합니다.

comgt APN
데이터 카드의 APN을 COMGTAPN 환경 변수에 포함된 값으로 설정합니다.

관습 스크립트
내장 스크립트 뿐만 아니라 직접 만들 수도 있습니다. 다음 스크립트는 Vodafone 3G를 설정합니다.
데이터 카드 또는 Option Fusion 카드의 UMTS 모드를 GPRS로:

#GPRS 전용 모드 설정
세트 com 115200n81
senddelay 0.05 설정
잠깐만 1 0.2
"AT_OPSYS=0^m" 보내기
"GPRS 전용 모드 설정" 인쇄

위의 스크립트를 GPRS로 저장했다면 다음과 같이 호출할 것입니다.

comgt GPRS

포트도 지정해야 하는 경우 다음을 수행하십시오.

comgt -d /dev/ttyS1 GPRS

환경 매개변수를 comgt 스크립트를 통해 $env().

교체 잡담
잡담 (어쨌든 Linux용) ppp 패키지와 함께 제공되는 유틸리티입니다.
기대-전송 문자열 커플은 대부분의 사람들을 ISP 등에 연결하기에 충분합니다. 하는 동안
chat의 사용은 매우 간단하고 유연하지 않습니다. 그 곳이 comgt 대신합니다.

comgt 대신에 사용될 수 있습니다 잡담 같은 전략을 사용합니다. 예를 들어, pppd 라인
독서:

pppd 연결 \
´chat -v "" ATDT5551212 CONNECT "" 출처: ppp \
단어: whitewater' \
/dev/cua1 38400 디버그 crtscts 모뎀 기본 경로

~을 사용하다 comgt, 독서:

pppd 연결 'comgt -s /root/scripts/isp.scr' /dev/cua1 38400 \
디버그 crtscts 모뎀 기본 경로

그리고 isp.scr 스크립트는 다음과 같습니다.

"ATDT5551212^m" 보내기
60 "진"을 기다립니다.
"ppp^m" 보내기
60 "단어:"를 기다립니다.
"whitewater^m" 보내기

물론 이렇게 하면 이 스크립트를 훨씬 더 기능적으로 만드는 것이 간단해집니다.
통화 중 감지, 재다이얼 등을 위한 코드 추가...

말 수가 많은 출력
verbose 옵션이 켜져 있을 때, comgt 표준 오류에 대한 모든 것을 보고합니다.
채널. 명령줄(-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 set com 38400n81 let 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 let 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

프로그램 작성 조작


통사론
에 사용되는 구문 comgt 스크립트는 다소 단순하고 다소 BASIC과 유사합니다. 스크립트는
줄 바꿈 문자로 끝나는 줄이 포함된 토큰화되지 않은 순수 ASCII 텍스트 파일
(Unix 표준) 모든 표준 텍스트 편집기를 사용하여 스크립트를 생성 및/또는 수정할 수 있습니다.
(vi, vim, joe, pico, emacs, ed, microEmacs) 라인 comgt 스크립트는 다음과 같이 읽습니다.

- 빈 줄
- [indent]rem 주석
- [indent][[:|label] LABEL] [command [arguments]] rem 비고
- [들여쓰기][[:|label] LABEL] [명령 [인수]] [명령 [인수]]...

들여쓰기에 사용되는 문자는 공백 및 표 문자입니다.
rem 명령은 스크립트 파서가 나머지 줄을 건너뛰게 합니다.
rem 명령은 "#" 또는 "//"로 쓸 수도 있습니다.

레이블은 소문자 및 대문자와 숫자로 구성됩니다.
레이블에서 대소문자는 무시됩니다.

명령과 해당 인수는 공백 및/또는 탭으로 구분됩니다.
명령 그룹은 공백, 탭 또는 줄 바꿈으로 구분됩니다.

표현식은 공백이나 탭을 포함할 수 없습니다.
괜찮습니다. n=x+76
이것은 아닙니다: n= x + 76
이 공백 ^은 let 명령 그룹을 종료하기 때문입니다.

오류 신고
인셀덤 공식 판매점인 comgt 스크립트 오류를 ​​감지하면 즉시 상세 모드를 켜고 덤프를 생성합니다.
(dump 명령 참조), 세 줄로 오류를 보고하고 실행을 중지합니다. 그만큼
보고된 첫 번째 줄은 실행 중인 명령 그룹이고 두 번째 줄은
파서는 얻었고 세 번째 줄은 프로그램 카운터의 문자 위치를 보고합니다.
오류 및 종료 코드.

다음은 예입니다.

$ comgt -vs blar2.scr

blar2.scr 스크립트는 다음과 같습니다.

주식회사 엔
3월 dXNUMX
하자 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 Inc n
2@0007 3월 dXNUMX
3@0015 하자 a=58/3
4@0027 let $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 let a=58/3
comgt 11:20:15 -> @0027 let $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으로 나누기. (XNUMX)

출구 코드
인셀덤 공식 판매점인 comgt 종료되면 "종료 코드"로 종료됩니다. 그것은 다시 전달 된 번호입니다
성공 또는 실패를 나타내는 호출 프로세스. 일상적인 Unix에서 0(영)은
성공과 다른 모든 것은 프로그램 작성자가 의미하는 바를 의미합니다. 에
셸 스크립트를 사용하거나 명령줄에서 직접 다음 내용을 볼 수 있습니다. $? 시간 내에
전화를 걸었다 comgt 종료 코드를 검사합니다.

예:

#!/ 빈 / SH
comgt /root/bin/call-isp
만약 [ $? != 0 ]; 그 다음에
echo "죄송합니다! 문제가 발생했습니다."
fi

내부의 comgt 오류 코드는 다음과 같습니다.

0 : 전혀 문제가 없습니다. 보기에.
1 : 통신 장치 문제.
2 : 콘솔(tty) 장치 문제.
3 : 메모리 문제.
4 : 파일 또는 파이프 문제.
5 : 구문 오류.
6 : XNUMX으로 나눕니다.
7 : 변수 관리 잘못.
8: 시스템 문제. (전화를 못 받음 / 빈 / SH 또는 일부)

명령
명령 :: 별칭: 레이블
설명 : 분기할 goto 또는 gosub의 기준점을 기록합니다.
구문: 키워드는 특수 문자를 포함할 수 없습니다.
참고: 행의 첫 번째 명령문이어야 합니다.
참조: goto, gosub, return.
예:
: 루프
고섭 브라보
인쇄 "시간은 ",$time(),"\n입니다.
수면 1
루프에 가라.
라벨 브라보
"트윙크!\n" 인쇄
return

명령: 중단
설명: comgt가 abort()를 호출하고 코어 덤프를 생성하도록 합니다.
구문 : 중단
참조: 덤프, 종료.

명령어 : cd
설명 : 디렉토리를 변경합니다.
구문 : cd 디렉토리
참고: 변경할 수 없는 경우 -1이 %로 반환됩니다.
참고: 디렉토리는 문자열이므로 변수가 될 수 있습니다.
참조: $cwd().
예:
cd "으악"
if % != 0 print "duh로 cd할 수 없습니다.\n"

명령: 닫기
설명 : 이전에 open으로 열린 파일을 닫습니다.
구문 : 파일 닫기
참조: 열기.

명령 : XNUMX월
설명 : 정수 변수의 내용을 1씩 감소시킵니다.
구문 : dec x
참고: x는 a에서 z 또는 a0에서 z9입니다.
참고: "let x=x-1"도 작동합니다.
참조: let, Inc.

명령: 덤프
설명 : XNUMX이 아닌 모든 정수 변수와 수정된 문자열을 나열합니다.
설명 : 로그 항목으로서의 변수(표준 오류 채널)
구문 : 덤프
참조: 중단, 종료

명령: 그렇지 않으면
설명: 마지막 "if"가 false로 테스트된 경우 또는 명령을 실행합니다.
구문: else 명령...
참조: 만약
예:
if w<350 print "와우! 상상해보세요.\n"
else print "Rush Limbaugh는 뚱뚱한 놈입니다.\n"

명령어 : eprint
설명: stderr에 쉼표로 구분된 인수 목록을 인쇄합니다.
구문 : eprint var,stringvar,"텍스트",...
참고: 인쇄와 유사하지만 표준 오류 파일 설명자에 있습니다.
참고: 오류 출력은 "2>file"에서 리디렉션될 수 있습니다.
참고: 명령줄.
참조: 인쇄.

명령 : 실행
설명 : 현재 comgt 프로세스를 다른 프로세스로 대체합니다.
구문: exec "command -args..."
참조: 시스템, 포크.
예:
#대본 완성, cu를 불러주세요.
exec "cu -l "+$dev()+" -s "+$baud()

명령: 종료
설명 : 종료 코드로 스크립트 실행을 종료합니다.
구문 : exit_code 종료
참조: 중단, 덤프.
예:
: 오류
1 번 출구
:스메깃
0 번 출구

명령: 플래시
설명 : 지정된 시간 동안 통신 장치의 DTR을 토글합니다.
구문: 플래시 float_constant
참고: float_constant는 1/100초까지 정확합니다.
참고: 모뎀이 캐리어를 삭제하거나 명령 모드로 이동합니다.
참고: 모뎀 설정에 따라 다릅니다. 전송 속도를 0으로 설정
참고: 한동안은 동일한 효과를 가집니다.
참조: sleep, set com.
예:
:연결 해제
플래시 0.5
0 번 출구

명령어 : fprint
설명: 파일에서 쉼표로 구분된 인수 목록을 인쇄합니다.
구문: fprint var,stringvar,"텍스트",...
참고: 인쇄와 유사하지만 이전에 열린 파일에 추가됨
참고: 개봉 기준.
참조: 인쇄.

명령: 포크
설명: comgt 프로세스를 둘로 분기합니다. 두 프로세스 모두 계속
설명 : 스크립트를 실행합니다.
구문: 포크
참고: %는 자식 프로세스에 대해 0을 반환하고, 새 프로세스 ID에 대해 반환합니다.
참고: 부모 또는 오류의 경우 -1입니다.
참조: wait, kill, pid(), ppid().
예:
포크
% = -1인 경우 오류 이동
% = 0인 경우 자식으로 이동
:부모의
...

명령: 가져오기
설명 : 통신 장치에서 문자열을 가져옵니다.
구문: 시간 초과 "종료기" 가져오기 $string
참고: timeout은 부동 소수점 상수이고 종결자는 a입니다.
참고: 수신 시 종료되는 문자 목록
참고: 얻다. 터미네이터는 처음 수신될 때 무시됩니다.
참조: 대기.
예:
60 "연결"을 기다립니다.
% != 0인 경우 오류로 이동
2 " ^m" $s 받기
"연결 매개변수: ",$s,"\n" 인쇄

명령어 : gosub
설명 : 서브루틴을 호출합니다.
구문 : gosub 레이블
참고: 현재 comgt는 128개 수준의 gosub만 지원합니다.
참고 사항 : 전화 (충분히!)
참조::, goto, return.
예:
고섭 루틴
수면 1
고섭 루틴
고토 끝
:일상
인쇄 "Flim-flam!\n"
return

명령어 : goto
설명 : 스크립트의 다른 곳에서 실행을 보냅니다.
구문 : 레이블로 이동
참조: :, gosub, return.
예:
:win95
print "오늘은 Linux를 사용하고 싶습니다. 감사합니다.\n"
win95로 가세요

명령어 : hset
설명 : 백 타이머를 설정합니다.
구문 : hset 값
참고: 이 명령은 수백 초 타이머를 다음으로 재설정합니다.
참고: 시작할 htime의 값입니다.
참조: htime().
예:
h세트 0
: 루프
"1/100초 단위의 시간: ",htime(),"\n" 인쇄
수면 0.01
루프에 가라.

명령어 : 만약
설명 : 조건 테스트
구문: if test_condition 명령...
참고 : Conditionnaly는 테스트 조건이 true인 경우 명령을 실행합니다.
참고: 테스트 연산자는 =(같음), !=(같지 않음),
참고 : <>(같지 않음) <(보다 작음), >(보다 큼),
참고: <=(작거나 같음), >=(크거나 같음).
참고: 모든 연산자는 정수 및 문자열과 함께 사용할 수 있습니다.
참고 : test_condition이 false이면 다음으로 건너뜁니다.
참고: 다음 줄.
참조: else.
예:
if n>30 print "Oh-ho! too many sheep!\n" goto error
if n=17 print "만세! 양이 충분해\n" 파티로 이동
if n<17 print "Murray, 더 많은 양을 가져오세요.\n" goto getmore
if $z < "Marmaluke" goto ...
if 3*a>5+b goto ...

명령어 : Inc
설명 : 정수 변수의 내용을 1씩 증가시킵니다.
구문 : inc x
참고: x는 az 또는 a0-z9입니다.
참조: dec, let.

명령어 : 입력
설명 : 키보드의 문자열을 문자열 변수에 입력합니다.
구문: $x 입력
참고: 입력은 ENTER 키로만 입력을 종료합니다.
참고 : 공백, 탭 및 기타 재미있는 문자는 모두
참고: 변수에 저장됩니다.
참조: 에코를 설정합니다.
예:
인쇄 "이름을 입력하십시오:"
입력 $n4

명령: 죽이다
설명 : 프로세스에 신호를 보냅니다.
구문: kill 신호 processID
참고: signal과 processID는 모두 정수 값입니다. 와 동일
참고 : 신호 별칭이 아닌 것을 제외하고 표준 유닉스 종료
참고: 허용되며 신호는 선택 사항이 아닙니다.
참고 : 신호를 보낼 수 있으면 0이 %로 반환되고 -1이 반환됩니다.
참고: 그렇지 않은 경우.
참고 : 신호 0은 프로세스 존재를 감지하는 데 사용할 수 있습니다.
참조: wait, pid(), ppid().
예:
포크
p=%로 하자
p = 0이면 자식으로 이동
수면 300
15p 죽이기
수면 1
0p 죽이기
if % != 0 인쇄 "하위 종료\n" 확인으로 이동
인쇄 "자식을 종료할 수 없습니다!\n"
9p 죽이기
수면 1
0p 죽이기
if % = 0 print "자식을 죽일 수 없습니다!\n" goto error
인쇄 "아이가 죽었습니다.\n"
:승인
...

명령어 : 하자
설명 : 변수 할당을 수행합니다.
구문 : let x=content
참고: x는 [$]a0-z9입니다.
참조: Inc, dec.
예:
하자 = 5
b=(시간()-a)+5라고 하자
y7=6809
하자 z=0%11010111 #바이너리
하자 z=077324 #XNUMX진법
하자 z=0xf5b8 #XNUMX진수
let $c="다니엘 "
let $d=$c+" 슈나르"
let $s5="Frimpin' Jeosaphat!"

명령어 : lprint
설명: 쉼표로 구분된 인수 목록을 로그에 인쇄합니다.
구문: fprint var,stringvar,"텍스트",...
참고: 인쇄와 유사하지만 자세한 정보 표시가 켜져 있으면 로그 항목처럼 인쇄됩니다.
참고: 로깅은 stderr로 전송됩니다.
참조: print, eprint, fprint.

명령 : 열기
설명 : 파일 또는 통신 장치를 엽니다.
구문 : com 장치 열기, com(stdin) 열기, FILE 파일 열기
참조: 닫기.
예:
오픈 com /dev/cua1
세트 com 38400n81
파일 "/tmp/log" 열기
fprintf "이것은 로그입니다\n"
파일 닫기

명령: 인쇄
설명: 쉼표로 구분된 인수 목록을 인쇄합니다.
구문: print var,stringvar,"텍스트",...
참고 : 공백과 줄 바꿈은 자동으로 추가되지 않습니다.
참조: eprint, fprint, lprint.
예:
b=26이라고 하자
let $c="텍스트 변수"
"고정 텍스트 ",b," ",$c," 시간 인쇄: ",$time(),"\n"

명령어 : putenv
설명 : 환경변수를 설정합니다.
구문: putenv "var=content"
참고: 환경 변수는 자동으로 내보내지며,
참고: 절대 반환되지 않습니다. 자식 프로세스는 상속
참고: 환경.
참조: $env().
예:
putenv "SCRIPTDIR=/usr/lib/comgt/scripts"
system "dothat" # dothat은 환경을 읽습니다. 변수 스크립트디어...

명령: rem 별칭: #, //
설명 : 비고. 나머지 줄은 무시됩니다.
구문: "rem" 뒤에 공백이 있어야 합니다.
예:
#비고입니다
// 이것도 마찬가지
rem 이것은 디스코가 아닙니다.

명령어 : 리턴
설명 : 서브루틴에서 리턴합니다.
구문 : 반환
참조: gosub.

명령: 보내기
설명 : 통신 회선(보통 모뎀)에 문자열을 보냅니다.
구문: 문자열 보내기
참고 : 캐리지 리턴(ENTER)은 자동으로 전송되지 않습니다.
참고: (^m 사용).
예:
"atdt555-1212^m" 보내기
$g+"^m" 보내기
"시간은 "+$time()+"^m^j"를 보냅니다.

명령 : 설정
설명 : 작동 매개변수를 설정합니다.
구문 : 매개변수 값 설정
노트 :

명령 설명
-------------------------------------------------------------------------- --------------------------
설정 echo on|off 키보드 에코 화면.
set comecho on|off 수신된 문자가 화면에 표시됩니다.
senddelay time_constant "보내기"에 대한 문자 지연 설정
ignorecase on|off "waitfor"에 대한 대소문자 구분을 설정합니다.
기본값은 켜짐입니다.
clocal on|off 설정 clocal on = 모뎀 신호 무시
umask 모드 파일 모드 생성 기본값을 설정합니다.
맨유마스크 참조.
자세한 정보 켜기|끄기 상세 정보 켜기 = 디버그 출력이 활성화되었습니다.
com com_params 통신 매개변수를 설정합니다.
예: 19200n81, 300e71
보드 |||
패리티 |
데이터 비트 |
정지 비트 |

예:
에코 끄기
"비밀번호:" 인쇄
$p 입력
인쇄 "\n"
에코를 켜다
Comecho를 켜다
클로저를 켜다
senddelay 0.1 설정
대소문자 무시 설정
세트 com 38400n81
set umask 022 # XNUMX진수여야 합니다(앞에 XNUMX).
...

clocal에 대한 참고 사항:
이동통신사가 감지한 후에도 스크립트가 계속 작동하도록 하려면
신호가 떨어졌습니다. clocal을 켜십시오. 그렇지 않으면 CD 드롭이 발생합니다.
닫을 장치 회선(전화 끊기). 다음과 같은 경우 발생할 수 있습니다.
스크립트가 호출하고 연결한 다음 연결을 끊거나
dtr(플래시)을 삭제한 다음 다시 연결을 시도합니다.

명령 : 수면
설명 : 실행을 일시 중지합니다.
구문 : 수면 float_constant
참고: Float_constant는 1/100초까지 정확합니다.
참고 : 100초 이상, 이 경우 정밀도
참고: 1초로 떨어집니다.

예:
수면 0.06
수면 3
sleep 86400 /* 하루 종일 */

명령어 : 시스템
설명 : 시스템(unix) 명령을 호출합니다.
구문: 시스템 "명령"
참조: exec.
예:
:디렉토리
"디렉토리 목록 ",$cwd(),\n" 인쇄
시스템 "ls -l |더"

명령어 : 테스트키
설명: 키보드에서 키 입력을 테스트하고 존재하는 경우 1을 %로 반환합니다.
구문 : 테스트 키
참고: ENTER 키에 대해서만 테스트할 수 있습니다. comgt의 향후 버전
참고 : 더 많은 것을 테스트하고 %의 키 코드를 반환합니다.
참조: 입력.
예:
n=1이라고 하자
: 루프
인쇄 n,"양... ZZZzzz...\n"
잠 n
주식회사 엔
테스트 키
% = 0인 경우 루프로 이동

명령어 : 기다리다
설명 : 자식 프로세스가 종료될 때까지 기다립니다.
구문 : 기다리다
참고 : 종료된 자식의 프로세스 ID는 %로 반환됩니다.
참조: 포크, 킬.
예:
포크
p=%로 하자
p=0이면 자식으로 이동
p=-1인 경우 오류로 이동
인쇄 "자녀가 끝날 때까지 기다리는 중..."
기다리다
인쇄 "\n"
if %!=p print "기다려야 잘못된 PID가 있습니다!\n" 오류로 이동
인쇄 "하위 작업이 완료되었습니다.\n"

명령: 대기
설명 : 문자열 목록 중 하나가 수신될 때까지 기다립니다.
구문: 대기 시간 초과 "string1","string2","string3"...
참고: Timeout은 부동 시간 상수입니다. 조용히 돌아오다
참고: 수신된 첫 번째 문자열은 0, 두 번째 문자열은 1 등...
참고: 및 -1은 시간 초과입니다. 다음 경우가 아니면 기본적으로 대소문자가 무시됩니다.
참고: ignorecase는 off로 설정됩니다.
참조: get.
예:
:다이얼
"atdt555-4411^m" 보내기
waitfor 60 "캐리어 없음","바쁨","발신음 없음","연결"
% = -1인 경우 시간 초과로 이동
% = 0인 경우 nocd로 이동
% = 1인 경우 재다이얼로 이동
% = 2인 경우 오류 이동
% = 3인 경우 연결됨

명령어 : 웨이트콰이어트
설명 : 통신 회선이 수신을 잠시 멈출 때까지 기다립니다.
구문 : waitquiet timeout quiettime
참고: timeout과 quiettime은 모두 부동 시간 상수입니다.
참고: 1/100초 포함. 정확성. "삼키기"에 유용
참고 : 잠시 동안 들어오는 문자 또는 대기 중
참고: 알 수 없는 프롬프트입니다.
예:
:클로즈콘
"logoff^m" 보내기
잠깐만 10 0.5
"예^m"을 보내세요

정수 기능
I-Function : 접근
설명 : 파일에 대한 접근 권한 확인
구문: let x=access("/tmp/file","frwx")
참고: 두 번째 문자열에는 다음 중 하나 이상이 포함됩니다.
참고: ´f´,´r´,´w´,´x´를 각각 확인
참고 : 존재, 읽기, 쓰기 및 실행 권한.
참고: 루트 ID 아래에서 유일한 유용한 검사는 'f'입니다.
참고: 다른 모든 항목은 true를 반환합니다.
반환 값: 파일이 존재하는 경우 0, 읽기, 쓰기 가능,
반환 값: 실행 가능, 그렇지 않은 경우 -1.
참조: 남자 ACCESS(2)

I-기능: 보드
설명 : 통신 회선의 현재 전송 속도를 반환합니다.
구문 : let x=baud()
참고 : 모뎀 연결 속도와 반드시 일치하지는 않습니다.
참조: $baud().

I-기능: len
설명 : 문자열의 길이를 반환합니다.
구문 : let x=len($s)
참고: ""는 XNUMX입니다. 현재 문자열의 최대 길이는
참고: 1024자. comgt는 문자열 오버플로를 처리하지 않습니다.
참고: 전혀.

I-함수 : htime
설명 : 스크립트 시작 후 수백 초를 반환합니다.
구문 : let x=htime()
참고 : hset을 사용하여 특정 값으로 설정하십시오.
참조: hset.

I-기능: pid
설명 : 현재 프로세스(comgt)의 프로세스 ID 번호를 반환합니다.
구문 : let x=pid()
참조: ppid(), 포크

I-기능: ppid
설명 : 상위 프로세스의 프로세스 ID 번호를 반환합니다.
구문 : let x=ppid()
참고: 분기된 자식이 부모를 감지하는 데 사용할 수 있습니다.
참고: 프로세스.

I-Function : 시간
설명 : 1년 00월 00일 00:1970:XNUMX GMT 이후의 시간을 초 단위로 반환합니다.
구문 : let x=time()
참고 : 시차를 계산하는 데 사용됩니다.
참조: $time()

I-기능: 발
설명 : 문자열의 값을 반환합니다.
구문 : let x=val($x)
참고: 문자열은 표현식이 아닙니다. [0-9]만 포함해야 합니다.
참고: 문자. comgt의 향후 버전은 다음을 수행할 수 있습니다.
참고 : 표현식을 평가하십시오. (아마도) (이것은 6으로 작성되었습니다.
참고: 몇 년 전입니다.)

I-Function : 상세
설명 : 상세 설정 값을 반환합니다.
구문 : let x=verbose()
참고: 0=꺼짐, 1=켜짐.

기능
S-Function : 기본 이름
설명 : 경로의 기본 이름 부분을 반환합니다.
구문 : let $x=$basename($p)
참고: $basename("/usr/bin/more")="more"
참조: $dirname().

S-기능: 보드
설명 : 현재 전송 속도의 문자열 표현을 반환합니다.
구문: let $x=$baud()
참고 : "set com"으로 정의
참조: baud(), set com.

S-함수: cwd
설명 : 현재 작업 디렉터리 경로 이름을 반환합니다.
구문: $x=$cwd() 하자
참조: cd.

S-Function : 개발
설명 : 현재 통신 장치 경로 이름을 반환합니다.
구문: $x=$dev() 하자
참고: "-d" 명령줄 인수 또는 "open com"으로 정의됨
참조: com을 엽니다.

S-Function : 디렉토리 이름
설명 : 경로의 디렉토리 이름 부분을 반환합니다.
구문: let $x=$dirname($p)
참고: $dirname("/usr/bin/more")="/ usr / bin"
참조: $basename().

S-Function : 환경
설명 : 환경 변수의 내용을 반환합니다.
구문 : let $x=$env("HOME")
참고: 존재하지 않는 변수는 빈 문자열을 반환합니다.
참조: putenv.

S-함수: XNUMX진수
설명 : 값을 XNUMX진수 표현으로 변환
구문: $x=$hex(x)
참고: 소문자 af, 앞에 "0x" 없음
참조: $hexu(), $oct().

S-기능: hexu
설명 : 값을 XNUMX진수 표현으로 변환
구문: $x=$hex(x)
참고: 대문자 AF, 앞에 "0x" 없음
참조: $hex(), $oct().

S-Function : 흠
설명 : 초 수를 시간 문자열로 변환
구문: let $x=$hms(x)
참고: 형식은 "HH:MM:SS"입니다. 크로노미터 표시에 유용
참고: "time()"과 함께 사용하고 변수를 증가시키려고 하지 마십시오.
참고: "sleep 1"을 사용하여 XNUMX초마다. (ISP 스크립트 예제 참조)
참고 : 형식은 99시간 59분이 지나면 "HHH:MM:SS"가 됩니다.
참고: 59초...
참조: time().

S-Function : 왼쪽
설명 : 문자열의 왼쪽 부분을 반환합니다.
구문 : let $x=$left($s,l)
참고: $s=소스 문자열, l=길이
참고: l은 문자열 길이보다 작아야 합니다.
참조: $right(), $mid().

S-Function : 중간
설명 : 문자열의 중간 부분을 반환합니다.
구문 : let $x=$mid($s,s,l)
참고: $s=소스 문자열, s=시작, l=길이
참고: s는 문자열의 길이보다 작아야 하며, l은 다음과 같을 수 있습니다.
참고 : 오른쪽을 반환하는 몇 가지 큰 숫자(9999)
참고: 끝까지 문자열. 문자열의 첫 번째 문자는
참고: 위치 0이 아니라 1입니다.
참조: $right(), $left().

S-Function : XNUMX월
설명 : 값을 XNUMX진수 표현으로 변환합니다.
구문 : let $x=$oct(x)
참조: $hex(), $hexu().

S-Function : 오른쪽
설명 : 문자열의 오른쪽 부분을 반환합니다.
구문 : let $x=$right($s,l)
참고: $s=소스 문자열, l=길이
참고: l은 문자열 길이보다 작아야 합니다.
참조: $left(), $mid().

S-기능: rpipe
설명: 시스템 파이프 명령에서 첫 번째 줄을 반환합니다.
구문: let $x=$rpipe("/빈/ls |grep myfile")
참고 : head, tail, grep,
참고 사항 : 기타...
참조: 시스템.

S-Function : 시간
설명 : 24자의 현지 시간 문자열을 반환합니다.
구문 : let $x=$time()
참조: time().
참고: 시간 형식은 다음과 같습니다. Mon Apr 8 14:21:22 1996
012345678901234567890123
1 2

S-Function : 아래
설명 : 소문자 문자열을 반환합니다.
구문 : let $x=$tolower($y)

S-Function : 토퍼
설명 : 대문자로 된 문자열을 반환합니다.
구문 : let $x=$toupper($y)

Test 운영자
연산자 설명 예 결과
= 1+2=3인 경우 같음 예
!= 1+2!=3인 경우 같지 않음
<> 1+2<>3인 경우 같지 않음
> 1+3>3인 경우보다 큼 예
< 1+3<3인 경우 미만
>= 3>=3인 경우 크거나 같음 예
<= 2<=3인 경우 크거나 같음 예

동일한 연산자를 사용하여 문자열을 비교할 수 있습니다.

"aaa" < "aab", "aaaa"> "aaa", "테스트" != "테스트", "하나" = "하나",
"A" > "a", "Fumble" <= "Fumigate", "Farsical" <> "Comedic"

주의 사항 "set ignorecase on"은 문자열 비교에 적용되지 않습니다.

표현 운영자
연산자 설명 예 결과
+ 더하기 a=2+2 4
+ 연결 let $b="aa"+"bb" "aabb"
- 빼기 let e=2-5 -3
* 곱하기 f=11*2 22
/ 나눗셈 let g=34/11 3
& 비트 단위 AND let h=42&7 2
| 비트 단위 OR let a=42|5 47
^ 비트 단위 XOR let 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의 표현식 때문에 추가 괄호 세트에 주목하십시오.
#평가자는 뇌사입니다.
#예를 들어, 5-2+1은 4가 되어야 하지 않나요? 글쎄, 에 따르면
#getvalue(), 실제로 2를 제공합니다.
#오른쪽에서 왼쪽으로.
#5-2+1을 올바르게 평가하려면 (5-2)+1을 사용하세요. 사용하는 경우
#간단한 XNUMX요소 계산, 걱정하지 마세요.
#5-2는 3을 줄 것입니다.

#연결(cu 호출)
exec "cu -l "+$dev()+" -s "+$baud()"

#테스트조건에서
a+c > strlen($c) 너무 많이 이동하면

#문자열 비교
하자 $t=$mid($time(),11,8)
if $t > "19:59:59" print "너무 늦었습니다!\n" goto toolate
if $t < "08:00:00" print "Too early!\n" goto tooearly
if $t = "00:00:00" print "세상에! 트윙키 시간이다!\n"

KNOWN STYLE


getvalue() 파서. 너무 웃겨서 이대로 놔둘 것 같아요. -
[이메일 보호]

환경 변수


COMGTPIN - PIN 스크립트에서 사용할 SIM의 4자리 핀 COMGTAPN - 쓸 APN
APN 스크립트에서 사용하는 데이터 카드.

작가


다니엘.슈나르[이메일 보호]> 원본을 썼다 디콘 유용.

폴 하드윅[이메일 보호]> 기본 제공되는 최신 컴파일러에 맞게 업데이트했습니다.
스크립트 기능에서 GPRS 및 3G 데이터 카드에 대해 테스트했습니다.

마틴 그레고리[이메일 보호]>에 대한 원래 맨페이지를 작성했습니다. comgt 인사말 디콘
설명서 및 패키지 comgt 배포용.

연혁
Daniel Chouinard는 대부분(90%)을 썼습니다. 디콘 1989년 그가 Unix Apps를 시작했을 때
기술 지원은 주로 모뎀을 통해 고객 시스템에 제공됩니다. 그는 그 모든 것을 입력하는 데 지쳤습니다.
그가 cu를 사용할 때마다 비밀번호와 재미있는 통화 요금 코드. 또한 그가 일했던 회사는
호출 시간과 예상 비용을 기록하는 시스템이 필요했습니다. 따라서 디콘 태어났습니다.
1996~XNUMX년 후(XNUMX) 그는 pppd를 사용하여 ISP 사이트에 연결했습니다. 그는 ~였다
다소 만족 잡담 그러나 흐름 제어 및 다중 응답 검사가 부족함을 발견했습니다.
"atdt..."에서. 그는 "캐리어 없음", "발신음 없음" 및
"바쁘다". 비록 그는 그렇게 생각했지만 잡담 그가 발견했을 때 아마도 언젠가는 향상되었을 것입니다.
dcon.c는 그의 오래된 45M 테이프 중 하나를 Linux 상자에 컴파일하려고 시도했고,
보라, 그랬다. 결국 그는 그것에 몇 가지를 추가했습니다(죽이기, 포크, 대기, 1/100초.
시간) 그리고 그대로 두었습니다.

몇 년 전 Paul Hardwick은 프로그램을 찾았습니다. 디콘 0.97, 1996년에 마지막으로 수정되었습니다.
이 프로그램의 목적은 Linux 직렬 포트를 제어하는 ​​스크립트를 실행하는 것입니다. 그만큼
구현은 그가 Windows용으로 작성한 것과 매우 유사했습니다. 어쨌든 오히려
그는 재창조하기보다 저자인 Daniel Chouinard에게 연락하여 재사용 허가를 요청했습니다.
코드. 다행히 그는 허가와 기본적이지만 유용한 유틸리티를 제공했습니다. comgt 였다
만들어진. Paul은 오늘날과 호환되도록 만드는 것 외에는 엔진에 대해 어떠한 신용도 인정하지 않습니다.
컴파일러. 그것은 기본적으로 디콘 재포장.

20 년 10 월 2006 comgt(1)

onworks.net 서비스를 사용하여 comgt 온라인 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad