

expectの使い方についてご教示頂きたいことがあります。
内容は以下の通りです。
1)スイッチ機器にtelnetし、自動的に設定を行うようにしたい。
この機器の通常のプロンプトは"goo#"とする
"goo"はあらかじめ変数"host"として代入される。
telnet後、この装置のプロンプトが本当に goo#だったら"save"コマンドを実行する。
expect "${host}#"
send "save\n"
ここまではわかるのですが、ではgoo# 以外のプロンプトだったら即座に処理を中断
(別の処理)したいのです。
2)ログイン中に別ファイルを呼び出し、その中から1行ずつ抜き出して改行コードつきでコマンドを実行したい場合どうすればいいのか
http://www.linux.or.jp/JM/html/expect/man1/expec …
このページは読んだのですが、いまいちよく理解できません。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
どもです。
参考にしてみてください。
#!/usr/local/bin/expect
set host "192.168.1.10"
set prompt "prompt"
set passwd "passwd"
set timeout -1
log_file expect.log
if [catch {open "./cmd.txt" r} fd] {
puts "Can't open cmd.txt...\n"
exit
}
spawn telnet $host
expect {
"Connection timed out" {puts "\n\nTime out....\n"; exit}
"password:"
}
send "$passwd\r"
expect {
"Permission denied" {puts "\n\nPassword Invalid...\n"; exit}
$prompt
}
while {[gets $fd line] >= 0} {
send "$line\r"
expect $prompt
}
send "exit\r"
expect eof
close $fd
ありがとうございました、一発で解決しました。
また、別件ですがcoredumpさまが過去に回答された
>質問:shスクリプトでftp接続してファイル転送したい
もとても参考になりました。
精進いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
- IT・エンジニアリング インフラエンジニア(ネットワークエンジニア)の検証業務について教えてください。 インフラ初心者なので 2 2022/06/26 00:08
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- その他(教育・科学・学問) 大学理系研究室における器材の貸し出しや取り決めについて 1 2022/12/01 22:04
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- その他(パソコン・スマホ・電化製品) LINUXPCに詳しい人に気楽に答えてほしい質問です。 2 2022/10/25 08:07
- その他(教育・科学・学問) 大学実験器材の貸し出しルール 1 2022/12/05 16:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ログに特定の文字が含まれてい...
-
centOS7サーバーに配置したHTML...
-
バッチファイル内置換
-
累積動作時間とはなんですか?
-
batファイル 行った履歴をテキ...
-
jp-106のキーボードを使用する...
-
ソフトのインストール場所って...
-
アプリケーションをインストー...
-
OS インストール場所確認
-
exeファイルの実行結果をテキス...
-
BootCamp環境を外付けHDDに入れ...
-
Open Office Org 急に起動しな...
-
cygwinでno such file or direc...
-
Linux環境変数設定(putenv?se...
-
VMware Playerの仮想マシン
-
Androidエミュレータでレーシン...
-
teamwareについて
-
SolarisでJDKのインストール情...
-
Macで元から入っているRubyは消...
-
EPSON CD Direct Print3をダウ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
誰かにサーバにあるデータを消...
-
scriptコマンドで出力したログ...
-
OpenLDAPでのユーザ一覧表示
-
シャットダウンしたユーザを知...
-
centOS7サーバーに配置したHTML...
-
バッチで削除したフォルダをイ...
-
lprコマンド(印刷)を実行する...
-
サーバの設計で教えてください
-
CONFIG.SYSの内容確認方法
-
ubuntuに外部侵入できるか
-
Linuxのコマンドを作成
-
出力のリダイレクトコマンド「>...
-
envと「cd」の同時実行ができない
-
シェルスクリプトとコマンドライン
-
centos7 apacheが起動しない
-
Linux●前の行に戻れません...
-
telnet後のログのとり方
-
expectの使い方について
-
AIXにて実行可能コマンド制限を...
-
ログに特定の文字が含まれてい...
おすすめ情報