Quantcast
Channel: All Open Tickets - Tera Term on OSDN
Viewing all articles
Browse latest Browse all 2128

マクロで処理されない行でも 「#」があるとSyntax errorが発生 - Tera Term Ticket #46555 on OSDN

$
0
0

マクロで処理されない行でも 「#」があるとSyntax errorが発生

Eröffnet am: 2023-01-20 15:43

Letztes Update: 2023-01-20 17:51

Auswertung:(Anonym)Verantwortlicher:(Keine)
Priorität:5 - MittelMeilenstein:(Keine)
Typ:FehlerSchweregrad:5 - Mittel
Komponente:Tera Term MacroStatus:Offen
LösungKeine

Einzelheiten

・TeraTermバージョン:4.106

・自動で各機器に接続するマクロを作成しています。

以下のようにマクロの処理が実施されない箇所(endの後)に接続先情報を記載しているのですが、実行すると '#' が記載されている行で Syntax errorが発生します。

XXXX.ttl の中身

;XXXX.ttl自身をfile openし機器のパラメータを読み込む処理
;各種接続処理
;~
end 

┌【機器パラメータ】────────────────┐
IPアドレス:192.168.0.1
パスワード:PassWord
通常プロンプト:^RouterA>
特権プロンプト:^RouterA#   ; ←マクロの処理は実行されない筈だけど、この行でSyntax errorが発生
特権昇格コマンド:enable
~
└【/】──────────────────────────┘

Letzte Aktualisierung für dieses Ticket

2023-01-20 17:51 Aktualisiert von: nmaya

  • Details Updated

Kommentar

end より後ろの行ですが、実行はされませんが解析は行われるはずです。

なぜなら、このようなマクロが書けるからです。

messagebox 'main' ''
call sub1
end

:sub1
messagebox 'sub1' ''
return

ですから endコマンドはあくまでも「ここで実行が終わる」のであって、この下になんでも書ける、perl の __DATA____END__より下のように確実にデータセクションであることを保証するものではなさそうです。

もし今のようにスクリプト内にデータを書きたいのなら、以下のようにコメントとして記述して、読み込んだ行を「";" が行頭にある前提」で解析するのはどうでしょうか。

;┌【機器パラメータ】────────────────┐
;IPアドレス:192.168.0.1
;パスワード:PassWord
;通常プロンプト:^RouterA>
;特権プロンプト:^RouterA#
;特権昇格コマンド:enable
;~
;└【/】──────────────────────────┘

Viewing all articles
Browse latest Browse all 2128