シェル内で、ENTERキーを押した時の動作をしたいと思います。
具体的には、もともと「telnetする、接続→ある値を入力する→ENTERを押す→入力した値に合わせたテキストが出力される→connection終了」という処理があり、
これを自動化して、出力されたテキストをファイルに保存するためのシェルを作りたいのです。
作ってみたところ、1点だけできないのがENTERキーを押す部分です。
シェルを実行すると、値の入力まで行われた状態で終わってしまいます。
そこで手動でENTERを押せば、正常に処理が終了します。
おそらく、会話形式でENTERを押した時の処理がうまくかけていないと思っています。
echo -e "\r\n"などいろいろ試したのですが・・・
echoではないのではないかと推測していますが、行き詰まりました。
どのようにしたらよいのかご教授ください。
No.1ベストアンサー
- 回答日時:
echo "
"
でいいんじゃないでしょうか。ちょっとやりたいことが正確には理解できていないかもしれませんが。
文法的にまちがって見えても、本当に改行してしまうところがミソです。
この回答への補足
回答ありがとうございます。
説明を抽象的にしてしまったために、わかりづらくすみません。
echo"
"
で、改行はできました。
ただ、改行しただけで、思ったとおりの動き(ENTERを押した時と同じような動き)はしませんでした。
すなわち、
echo -e "\r\n"
の時と同じ動きです。
どうやら、改行コードを送り込むだけではだめみたいです。
せっかく回答いただいたのに、すみません。
自己解決しましたので、今後困った方がネット検索された場合を考慮して、ご報告します。
「会話形式でのエンターキーの動作」という質問の回答というより、
『「telnetする、接続→ある値を入力する→ENTERを押す→入力した値に合わせたテキストが出力される→connection終了」という処理があり、
これを自動化して、出力されたテキストをファイルに保存するためのシェルを作りたい』という質問の回答となります。
結果としては、
(echo '****';sleep 5;echo 'exit') | telnet 192.168.XXX.XXX
という形でうまくいきました(****は、入力した値)。
##ちなみに、出力された値をテキストに保存したい場合(lsした結果など)は、
##(echo '****';sleep 5;echo 'exit') | telnet 192.168.XXX.XXX > 吐き出し先ファイル名
##でできました。
エコーを前に書いてパイプで繋ぐという発想がなかったのですが、
おそらく、最初に****をエコーして、sleep 5をしている間にtelnet接続され、exitが実行されたタイミングで****+エンターキーと同じ動作が行われている様子です。
参考URLはこちらです。
http://his.luky.org/ML/linux-users.a/msg00827.html
>Quuxさん、説明が抽象的でわかりづらく、すみませんでした。ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと タイムマシンを破壊すべきか。
これはディベートの論題だと仮定したうえでの回答お願いします。あなたは、その末にタイムマシンを壊してしまうのか、使い道を探すのかどうかを考えてもらいたいです。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
expectを使用しない自動PW入力方法
UNIX・Linux
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csh (tcsh)での環境変数の長さ...
-
Cシェル内でBシェルの様な関数...
-
ターミナルが全く入力できない
-
.cshrc ファイルについて
-
シェル 会話形式でエンターキ...
-
シェルスクリプトで #!/bin/sh ...
-
UNIX(hp-ux)のコマンド履歴↑↓
-
execl関数上でvmstatを使ったcp...
-
Tabキー補完や↑キーのヒストリ...
-
BシェルとBashの違い
-
シェルスクリプトの中であるプ...
-
bashでの変数の引渡し方法
-
apache停止してたら再起動させ...
-
ubuntuの端末の左にカレントデ...
-
コマンドプロンプトとかで、net...
-
シェルを用いて死活監視
-
TOPコマンドで表示するCPU使用...
-
SONYの音楽ソフト「x-アプリ」...
-
ファイル名についている「-」と...
-
Dirコマンドでフォルダ内ファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
export と set は違うの?
-
ターミナルが全く入力できない
-
.cshrc ファイルについて
-
Cシェル内でBシェルの様な関数...
-
ubuntuの端末の左にカレントデ...
-
『存在するかどうか分からない...
-
posixでshellを起動したとき`da...
-
シェル(ksh)で変数にある文字列...
-
コマンドプロンプトとかで、net...
-
lsコマンド部分一致方法
-
シェルスクリプトで #!/bin/sh ...
-
シェルスクリプトに関する問題...
-
バックスラッシュの意味がわか...
-
シェル 会話形式でエンターキ...
-
Solaris9でdateコマンドの結果...
-
シェルスクリプトの中であるプ...
-
pc98のコマンドプロンプトからD...
-
unix初心者です
-
[UNIXコマンド] eval教えて下...
-
csh (tcsh)での環境変数の長さ...
おすすめ情報