

シェル内で、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で質問しましょう!
似たような質問が見つかりました
- Windows Me・NT・2000 widows xpのエラーで利用ができなくなりました 3 2022/12/21 13:43
- Windows 10 エクスプローラで希望の場所が表示できない 2 2023/06/29 15:19
- マウス・キーボード テンキーの設定がおかしくなっています。 5 2023/08/09 15:35
- その他(ブラウザ) 自分のデフォルトゲートウェイをアドレスバーに入力し、Enterキーを押します。(一般的なデフォルトゲ 4 2022/05/30 22:43
- その他(ブラウザ) ・再投稿です 自分のデフォルトゲートウェイをアドレスバーに入力し、Enterキーを押します。(一般的 1 2022/05/30 23:16
- Excel(エクセル) エクセルのバージョン2016フリーズ改善策 5 2022/12/13 09:13
- マウス・キーボード win7 文字変換選択確定をテンキーでさせない 3 2023/03/05 16:29
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- マウス・キーボード キーボード設定で困っています。長文です。 2 2022/12/10 12:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FreeBSDのログインシェルshの$H...
-
シェルとシェルの間で環境変数...
-
シェルスクリプトの中であるプ...
-
バックスラッシュの意味がわか...
-
CUIでインターネット閲覧
-
31日前の日付はいつ?
-
Tabキー補完や↑キーのヒストリ...
-
コンソールでの上下左右矢印ボ...
-
『存在するかどうか分からない...
-
tcshなのにスクリプト構文中のs...
-
csh (tcsh)での環境変数の長さ...
-
シェルの変数をMySQLに送る方法...
-
ターミナルが全く入力できない
-
日蓮大聖人はミカエル天使から...
-
Cシェルでのファイルからの入...
-
export と set は違うの?
-
mac os x10.6.4のターミナルでp...
-
ubuntuの端末の左にカレントデ...
-
Linuxシェルによる同一文字列の...
-
シェルのリダイレクトとパイプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Cシェル内でBシェルの様な関数...
-
export と set は違うの?
-
ubuntuの端末の左にカレントデ...
-
『存在するかどうか分からない...
-
シェル 会話形式でエンターキ...
-
.cshrc ファイルについて
-
シェル(ksh)で変数にある文字列...
-
posixでshellを起動したとき`da...
-
ターミナルが全く入力できない
-
シェルスクリプトのbashとperl...
-
lsコマンド部分一致方法
-
コンソールでの上下左右矢印ボ...
-
msys(cygwin)で、シェルスクリ...
-
Tabキー補完や↑キーのヒストリ...
-
シェルスクリプトに関する問題...
-
apache停止してたら再起動させ...
-
Thunderbirdで既読にしても、シ...
-
Cシェルでのファイルからの入...
-
シェルとシェルの間で環境変数...
-
コマンドプロンプトとかで、net...
おすすめ情報