• 締切済み

対話形式の自動実行

対話形式を自動実行させる際に #コマンド < 対話内容を記載したファイル にて実行可能なのは知っているのですが、対話の方式が「format」コマンドのように ”選択する文字を入力して<ENTER>”ではなく、”文字を入力したと同時に次の画面”が表示 されるタイプのものを実行する場合はどのように行えばいいのでしょうか? 対話の内容を取得したいので *********************************************************** #(コマンド < 対話内容を記載したファイル) > *.log *********************************************************** というようなかたちで実行すると *********************************************************** #(コマンド < 対話内容を記載したファイル) > *.log # *********************************************************** の状態で画面が止まってしまい操作が効かない状態です。 強制的に画面を閉じて、別画面にて対象のファイル「*.log」を見ると画面が すばやく流れて何も見れず「*.log | grep <キーワード>」では確認できます。 対話形式を実行して、logの内容の取得をシェルにて一括で行いたいのですが、 画面が止まる状況を改善する方法はありますでしょうか。 以上、宜しくお願いします。

みんなの回答

  • lunarosa
  • ベストアンサー率73% (30/41)
回答No.1

> #コマンド < 対話内容を記載したファイル これが具体的にどのような構文なのかここからは見えないので、意図したことに見合うかわかりませんが、bash の read なら任意文字数の入力を待たせることができます。詳しくは BASH(1)を参照してください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • シェルの実行中にユーザ切り替えてコマンド実行

    はじめまして。 シェル初心者です。 shell.shをrootユーザでクーロン実行していますが、 shell.shの処理の中で、違うユーザでコマンド実行したいのですが、 可能かどうかも、方法が分かりません。 教えていただけないでしょうか。 環境はLinuxです。 下記のコマンドを実行したいです。 リモートでログインしてコマンド実行結果を取得する ssh -l tomcat server_tomcat grep test /tmp/test.log ※他のユーザでsshを実行してコマンド結果を取得したいです。 以上。宜しくお願い致します。

  • UNIX : cronにて自動実行すると、whoami が実行できない

    Kornシェルスクリプト(仮名:a.ksh)内の処理で、 「 whoami >> file1 」 をcron設定にて自動実行したところ、上記のコマンド部分が実行されておらず、file1(ファイル)にユーザ名が記載されていませんでした。 しかし、a.kshを手動実行しfile1を見ると、ユーザ名が記載されていて、上記のコマンド部分が実行できていることを確認致しました。 なぜcronにて自動実行すると、上記のコマンド部分が実行できないのでしょうか? 皆様、よろしくお願い致します。

  • smtpサーバへtelnetログインし、対話形式でメールを送付するところを自動化したい

    「smtpサーバへ、telnetログイン(ポート指定:25)後、対話形式でメールを送付する。」 というのを自動化したいのですが、手動でコマンドを投入する分ではうまく行くのですが、Windowsのバッチファイル(.bat)で実行すると、ログインしたところで止まってしまいます。 どうすればうまくいくでしょうか?

  • 対話型のコマンドで入力する値をスクリプトに盛り込んで自動化したい

    今まで変更した各種設定を一気に行うシェルスクリプトを作成して、サーバーを再セットアップしてもすぐに今までどおり使えるようにしようとしています。 スクリプト中に対話型のコマンドを記述すると、そこで処理が中断して、入力待ち状態になってしまいます。 しかし、入力値は大抵いつも同じですので、これをスクリプト中に記述して、処理が中断する回数を極力減少させたいと考えています。 passwdコマンドをechoコマンドと組み合わせて次のようにやってみました。 # echo "xxx xxx" | passwd user しかし次のように失敗してしまいました。 Changing password for user user. New password: Retype new password: New password: New password: passwd: Conversation error エラーメッセージより再入力がうまくできていないようです。 さらに3回目の入力が求められていますが、これも謎です。 このような対話型のコマンドとその入力値を全部シェルスクリプトに記述するなどして、処理を自動化する方法をご存知の方は、ぜひ教えてください。

  • Cygwin で Ftpを実行するTOOLを cronで実行したい。

    よろしくお願いします。 Cygwinで FTPを使ってUnixのFileを取得するシェルスクリプトを作成しました。 シェルの種類はkshです。 このTOOLをCygwinのcronに仕掛けて自動的にFileを取得するようにしたいのですが、 どうもFTPのところで止まってしまうようです。 Cron設置時にLogを取得したところ 下記のメッセージが出力されていました。   User (10.200.xx.xx(none)) 自分のhomeに.netrc ファイルを作成して、FTP時にはUserID/Passwordを入力しなくて済むようにしているので スクリプトを自分で実行する分には何も入力しなくて言いのですが cron実行時にはなぜかUserIDの入力を促すところでストップし、プロセスも残ってしまっています。 自動的にUserID/Pawwwordを読み込ませるにはどうしたらよろしいでしょうか?

  • シェル内で自動ユーザ変更

    SunOS 5.10を使っていますが シェルを実行するのはAやBなど同一グループに属すユーザとしてシェルと作成し、 シェルの中で実行されるコマンドや子シェルはXというAやBと同一グループだけど 単一ユーザにしたいのですがそういう事は可能ですか? ・rootユーザはNG ・パスワードの入力は対話型でするのではなく自動化させたい ・rshやrloginなどは使いたくない ・恒久的にXというユーザのパスワード入力が省略されるのはNG などが条件です。 要はツールをシェルで作って実行するユーザはマルチユーザ化したいが シェル内ではパスワード入力などマルチユーザが意識しないで処理が止まる事なく 単一ユーザで処理させたい、出力したファイルなどの所有者も 単一ユーザとなるのようにしたいのですが。 わざと抽象的に書いていますが、なにか方法はありますでしょうか?

  • 実行形式のファイルの作り方

    例えば、Javaでメモ帳のような簡単なアプリケーションを作成したとします。これを実行するには、コマンドラインで実行コマンドを行えば済むのですが、アイコンをダブルクリックで実行できるような形式(exeファイル等)にはできないのでしょうか? 何か他のツールで変換したりするのでしょうか?

    • ベストアンサー
    • Java
  • シェルの実行結果を画面出力したい

    お世話になります。 1つのファイルに複数のコマンドを記載して1行毎の実行を考えています。 コマンド実行中は画面に1行ずつ実行コマンドを表示させたいのですが上手くいきません。 どのようにすれば宜しいでしょうか。宜しくお願い致します。 ---------------------------------------------------------------------------- ファイル内容 ---------------------------------------------------------------------------- 実行コマンド1 実行コマンド2 実行コマンド3 実行コマンド4 実行コマンド5 ----------------------------------------------------------------------------

  • Kシェルのリダイレクト

    Kシェルのリダイレクト シェル初心者で申し訳ございませんが、ご教授いただけたら幸いです。 やりたいこと  xxx.kshの実行ログを出力したい。 出力したいログは、以下コマンド実行時に標準出力されるログをファイルへ落としたい。 尚、実際の実行コマンドは、ksh -xは入力しません。 $ ksh -x ./xxx.ksh 上記コマンドを実行すると、詳細なログが表示されるのですが、ファイルへ落としたいと思います。 分かりづらいかも知れませんが、宜しくお願い致します。

  • シェルスクリプトで選択してコマンド実行結果表示する

    Linuxのシェルスクリプトで、簡易メニュー画面を表示して、番号を入力して、コマンド実行結果を表示すしたいです。 →その後、ファイルに書き込むようにする。  表示が終わったら、再度簡易メニュー画面を表示して、別の番号を入力して再度コマンド実行結果を表示したいです。 (例:1を入力すると、ファイル容量のコマンド結果が表示、2を入力すると、ユーザーの名前コマンド結果を表示する。10を入力すると、終了)