これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド expect-lite です。
プログラム:
NAME
expect-lite - 素早く簡単なコマンドライン自動化ツール
SYNOPSIS
期待ライト [-vv] -c <script> [-r ] [定数=値] [*指令] [-h|--ヘルプ]
or
スクリプト.elt [-vv] [r=] [定数=値] [*指令] [-h|--ヘルプ]
DESCRIPTION
Expect で書かれており、インタラクティブなターミナル セッションを
自動化スクリプト。 expect-lite スクリプトは、先頭に句読点を使用します。
アクションを示す各行。 基本的なexpect-liteスクリプトは、単純に作成できます
端末ウィンドウからスクリプトへのテキストの切り取りと貼り付け、および追加 > < 文字。
Expect の知識は必要ありません。
使用法:expect-lite remote_host= cmd_file=
[user_dir= ] [const1=value1] [*DIRECTIVE]
または短い形式:expect-lite r= c= [日= ]
[const1=value1] [*DIRECTIVE]
例えば。 ./expect-lite r=host-008 c=pm_alt.elt d=/local/sw myvar=myvalue *NOCOLOR
追加のログイン オプション: user_name= ユーザーパスワード=
例えば。 ./expect-lite r=host-008 c=pm_alt.elt u=スーパーユーザー p=mysecret
追加のデバッグ オプション: -v|-vv|-詳細
-v 警告と情報 (つまり、条件、動的 var 割り当て) を出力します。
-vv|-詳細
警告とデバッグを出力します (つまり、一致情報を期待します)
例えば。 ./expect-lite -vr=host-008 c=pm_alt.elt
ユーザー定義のヘルプ オプション: -h| - 助けて
ユーザー定義のヘルプ テキスト (;;; で区切られた) とスクリプトで定義された変数を表示します。
コマンドラインの定数でオーバーライドできます
COMMAND SYNOPSIS
これは簡単な概要です 期待ライト それらへのリマインダーとして機能するコマンド
すでに知っている人 期待ライト; 他のドキュメント (html ドキュメントなど) は、
より完全な説明については、相談してください。
スペシャル キャラクター
> プロンプトを待ってから、文字列をリモート ホストに送信します
>>プロンプトを待たずに文字列をリモートホストに送信
< 文字列/正規表現は、割り当てられたタイムアウトまたは
スクリプトは失敗します!
<< リテラル文字列を受信する必要があります (正規表現評価なしの '<' と同様)
-< 期待しないでください。文字列/正規表現がリモート ホストから受信された場合、スクリプトは失敗します。
~< あいまいな期待、おおよその数 (XNUMX 進数または XNUMX 進数) を期待
# コメント行を示すために使用され、効果はありません
; コメント行を示すためにも使用されますが、stdout に出力されます (ログ用)。
; コメント
カスタム カラーのコメント行を追加します。色は、青、ltblue、グレー、ltgray、シアン、
黒、ピンク、紫、赤、緑、黄
;; 上記と同様ですが、余分な改行は出力されません (スクリプトの印刷に役立ちます)
ヘルプ)
;;; ヘルプ テキストのブロックの開始と終了を示します。 ヘルプ テキストはユーザー定義のヘルプです
スクリプト用で、コマンド ラインに -h または --help が指定されている場合に出力されます
@num は、予期されるタイムアウトを秒数に変更します
:num は num 秒間スリープします。 ミリ秒もサポートされています。例: 1.005 は 1005 ミリです。
秒
$var= スクリプト呼び出し時の静的変数の割り当て。 文字に限定された変数名、
数字、アンダースコア
+$var= 動的変数割り当て
+$var $var の値を 1 進数で XNUMX 増分します
-$var $var の値を 1 進数で XNUMX 減らす
=$var 数学関数、ビットごとの算術演算を実行: << >> & | ^ * / % + -
(数学関数を参照)
=$str 文字列数学関数。$str が文字列の場合、文字列操作を実行します。
//検索/置換/ + - (ドキュメントの文字列数学関数を参照)
! 埋め込まれた期待行を示します
? ?cond?action::else_action 形式の c-style if/then/else。 コードブロックも
action および else_action ステートメントでサポートされています。 例えば
?if $i < $n ? [
>文字列を送る
<期待文字列
]::[
>他の文字列を送信
<expect else 文字列
]
[ while ループ、コード ブロックの使用など
[ $i < $n
+$i
]
Foreach ループ、コード ブロックを使用して、各反復 $item に次の項目が割り当てられます
リスト。 リスト しなければなりません スペースで区切られている
$thelist=ab cd ef
[ $item=$リスト
> $アイテムをエコー
]
% label - ラベルへのジャンプに使用
~ファイル名 [定数=値] [定数=スペース付きの値]
共通変数ファイルの作成に役立つ、expect-lite スクリプト ファイルが含まれています。
または「サブプログラム/サブルーチン」。 オーバーライドするオプションのパラメーターを渡すことができます (
定数) インクルード ファイル内の変数。 渡された定数値は
スペース、引用符は必要ありません
説明書
*~ファイル名
メイン スクリプトが失敗した場合にのみ、expect-lite が実行される失敗スクリプトを含めます。
*/促す/
ユーザー定義のプロンプト (正規表現で定義) を設定する
*学期
スクリプトをただちに終了し、N が指定されていない場合は N の値を返します。
0を返します
*PASS スクリプトをただちに終了し、0 (パス) を返します。
*FAIL スクリプトはただちに失敗し、1 (失敗) を返します。*NOFAIL が設定されていない限り、スクリプト
完了するまで実行され、1 が返されます
*不合格
スクリプトは最後まで実行され、実行中にエラーが発生した場合は 1 を返します。
パスの場合は 0 (スティッキー フラグであり、設定を解除できません)
**シェル=
自動ログイン直後のシェルを設定する設定ディレクティブ
リモートホスト (シェルの設定を参照)
*相互作用する
ユーザーを対話モードにし、スクリプトを一時停止してターンするブレークポイント
ユーザーへのキーボードの制御
*ノーインターアクト
一度設定すると、後続のすべてのブレークポイントが無視されます (*INTERACT)。 これにより、実行が許可されます
無人回帰のスクリプト。 これは設定解除できません (これは
粘着フラグ)
*フォーク
複数セッションのサポート。 expect-lite に新しいセッションを開くように指示し、
新しいシェル
*変数を表示
デバッグ情報。expect-lite 変数をすべて表示します。 インタラクションで使える
モード。
*環境を表示
デバッグ情報、expect-lite 環境の表示、ディレクティブの状態、
無限ループ カウンター、ログ ファイル名 (使用されている場合)、および環境変数。 することができます
対話モードで使用されます。
*INFINITE_LOOP N
無限ループ保護値、N を新しい値として設定
*EOLS LF|*EOLS CRLF
改行または改行のいずれかで、リモート ホストに送信される行末シーケンスを制御します
リターン + 改行。
*DVPROMPT|*NODVPROMPT
動的変数の取得方法を有効/無効にして、末尾のプロンプトを要求する
(デフォルト = *DVPROMPT)。
*含まない
設定すると、後続のすべてのインクルード ファイル (~ で始まる行) が無視されます。 これ
ライブラリ モードでのデフォルトの動作でした (v4.1 で導入)。 この振る舞いは
デフォルトではなくなり、このディレクティブは以前の動作への方法を提供します。
ロギング
ロギングには 1 つの操作が含まれます。2) スクリプト出力をファイルに書き込む、XNUMX) 制御する
info、exp_info、warning などの追加メッセージ。 使用時のすべてのロギング コマンド
CLI では、スクリプト内のものを上書きします
*LOG|*NOLOG
標準出力とメッセージのファイルへのロギングを有効/無効にします。 ログファイル名
になります.log はスクリプト ディレクトリに保存されます (環境変数を参照)。
以下の EL_LOG_EXT)
*ログ|*LOGAPPEND
ユーザー指定のパス/ファイル名へのロギングを有効にします。 CLI で呼び出すと、
回避するには、指定された file_name は「.log」(または EL_LOG_EXT で定義されたもの) で終わる必要があります。
あいまいさ
*情報|*情報なし
情報メッセージの有効化/無効化
*EXP_INFO|*NOEXP_INFO
「予期される」メッセージを有効/無効にします (さらに -V フラグを使用して有効にします)
*警告|*警告
警告メッセージを有効/無効にする
*デバッグ|*ノードバグ
デバッグ メッセージの有効化/無効化
*ノーカラー
stdout の色を無効にします
*タイムスタンプ
ミリ秒の精度で日付とタイムスタンプを出力します。コマンドが送信されるたびに、ISO が
デフォルト。 *LOG を使用すると、タイムスタンプがログ ファイルに書き込まれます。
*タイムスタンプなし
タイムスタンプの印刷を無効にします
環境 Variables
expect-lite スクリプト自体を手動で編集する必要はなくなりました。 などのすべてのパラメータ
connect_method として、ログイン名とパスワードはシェル環境変数によって制御されます。
これにより、マルチユーザー環境での個別のカスタマイズが可能になります。 することをお勧めします
これらの値を保存します .expect-literc .bashrc または .cshrc から入手します。 設定されている場合、
次の環境変数が使用されます。
EL_CONNECT_METHOD
リモートホストに接続するためにexpect-liteが使用するメソッド。 有効なオプションは次のとおりです。
none|telnet|ssh|ssh_key デフォルトは none です
EL_CONNECT_USER
リモートホストへのログインに使用するユーザー名 (telnet|ssh)
EL_CONNECT_PASS
リモート ホスト (telnet|ssh) でのログインに使用するパスワード
EL_INFINITE_LOOP=N
無限ループ保護値、N をユーザーのデフォルト値に設定
EL_DELAY_WAIT_FOR_HOST
Not Expect および Dynamic Var Capture でホストを待機する遅延 (ミリ秒単位)。 100 ミリ秒は
高速インターネットで実行している場合は 200 ミリ秒、ローカル LAN に適した値
EL_REMOTE_HOST
リモート ホストの名前または IP
EL_CMD_FILE
実行する expect-lite スクリプトの名前
EL_USER_DIR
スクリプトを実行する前に、ログイン時にこのディレクトリに移動します
EL_SHELL
EL_CONNECT_METHOD=none を使用する場合は、このシェル (デフォルトの bash) を開始します
EL_DYN_VAR_PROMPT
動的変数の取得方法をプロンプトを要求するように設定します (デフォルト = 1)。 無効にする
0に設定します。
EL_LOG_EXT
に追加されるログ ファイル名の拡張子文字列 (default=".log") を設定します。
ファイル名引数なしで *LOG を使用する場合、またはログ ファイルの検出に使用する場合のスクリプト名
コマンドラインでの名前。
EL_* EL_ で始まるその他のシェル環境変数はすべて定数になります
デバッガ (IDE)
デバッガーは、次の 1 つの主要な機能を実行します。XNUMX) ユーザーをリモート ホストに接続します。
またはテスト対象のデバイス、2) エスケープキーで始まる特別なコマンドの監視
ステッピング、およびその他の機能、および 3) デバッガーは、expect-lite スクリプト行を許可します。
直接入力するか、IDE に貼り付けることで実行できます。
デバッガーは、スクリプトに *INTERACT コマンドを配置することによって、ブレークポイントで呼び出されます。または
スクリプトの実行中にいつでもインスタントインタラクトで使用する
Ctrl+バックスラッシュ ^\
■ ステップ、スクリプトで次のステップを実行
k スクリプトの次のステップをスキップ
c スクリプトの実行を続行
v 変数の表示、expect-lite 変数と値の表示
e show Environment、expect-lite 環境の表示
0から9
スクリプトの次の N 行を表示する
-1対9
スクリプトの最後の N 行を表示する
ctrl+d 終了 & 期待ライトを終了
h表示 ヘルプ
[貼り付けた行]
スクリプトから IDE に貼り付けられた行を実行します
[任意のexpect-lite行を入力]
入力されたexpect-liteスクリプト行を実行します
onworks.net サービスを使用して オンラインで expect-lite を使用する