• ベストアンサー

Bashでキーボードから入力は?

Linux+BashでShellスクリプトを作成しています。 「削除しますか?(Y/N)」のメッセージを表示した後、 Yを押すとファイルを削除するようにしたいと思っていますが、Bashでキーボードから文字を入力して文字がYかNか判断するようなことはできるのでしょうか。 具体的なソースがご存知の方教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

echo -n '××しますか?(Y/N)>' read YN if [ $YN = 'Y' ] || [ $YN = 'y' ]; then echo "yes" else echo "no" fi

jaekuk
質問者

お礼

ご回答有難うございました。 やりたいことそのままでした。 readというキーワードがあったんですね。 ネット上で色々探したんですが、ファイル関係の入出力に関わる情報は結構ありましたが、キーボードに関しては探しきれませんでした。このようなシェルスクリプトに使われるキーワードが掲載されているホームページなどご存知でしたら教えていただいてよろしいでしょうか。 有難うございました。 宜しくお願いします。

その他の回答 (2)

  • qaaq
  • ベストアンサー率36% (146/404)
回答No.3

本題ではないですが、 「シェルスクリプト基本リファレンス」という本が技術評論社からでています。 一読されては如何でしょうか。

参考URL:
http://www.gihyo.co.jp/books/syoseki.php/4-7741-2261-0
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>ホームページなどご存知でしたら教えていただいてよろしいでしょうか。 ごめんなさい、私は情報ソースは、ほとんど本からなので、 ホームページなどを渡り歩くことがほとんど無いんです。 (とても細い回線でインターネットしているので、とても効率が悪いし・) なので知りません。

関連するQ&A

  • bashのシェルスクリプトの書き方

    macos x 10.5.5です。 あるコマンドを実行すると"y/n"を聞いてきます。コマンドラインから実行した場合は、単純にキーボードから"y"などと入力すれば済むわけですが、これをbashのシェルスクリプトでやる場合はどう書けば良いのでしょうか。尚、"y/n"に対する応答(キー入力)は常に"y"で構いません。 >hoge delete file1 -- hogeというコマンドを実行 >Are you sure ? ( enter y/n ) -- hogeが確認を要求 >y -- キーボードからyを入力 よろしくお願いします。

  • bash カウントダウンさせたい。

    shellについて初めて勉強しています。 引数で指定した時間をカウントダウンする bashのファイルを作成しているのですが, どのようにしたらよいでしょうか? 引数が一つの時はその引数を秒数として扱い,引数が二つ以上の時は一つ目の引数を分数, 二つ目の引数を秒数として「x分y秒」と表示したいです。 sleepコマンドに引数として秒数を渡すと,その秒数だけ実行が止まるのではないかと思います。 具体的な #!/bin/bash この続きをよろしくお願いします。

  • BASHの入力待ち

    fig_0.gif~fig_30.gifの30個の絵をdisplayコマンドで表示させるbashプログラムを作りたいと思います。 キーボードでEnterを押すと次の絵に移動するようにしたく、以下のようなプログラムを作成しました。 しかし以下のプログラムではdisplayのウィンドウがアクティブになります。 キーボード入力で次へ進むためには端末を一度クリックする必要があります。 端末をアクティブにする方法はありますでしょうか? わかりにくい説明で申し訳ございませんが、ご存じのかたご回答よろしくお願いします。 #!/bin/bash for ( i=0; i<30; i++ ) do  display fig_${i}.gif &  echo -n "next ?> "  read INPUT  killall display done

  • bashファイル作成について

    shellについて初めて勉強しています。 乱数によってサイコロを3個表示する bashのファイルを作成しているのですが, なかなかうまくいきません。 どのようにしたらよいでしょうか? if文またはcase文を用いる必要があるのは想像できるのですが, 具体的にどう書けばいいのかよくわかりません。 たぶんある数を6で割った余りは0~5になるようにすればよいのではないかと思っています。 #!/bin/bash この続きをよろしくおねがいします。

  • キーボード 1文字 入力できない

    ノートパソコンのキーボードにジュースをこぼしてしまいました。 そのため、キーボードで”n” の文字だけ入力できなくなりました。 あまり使わないキー(たとえば”無変換”)を”n”に割り当てるようなソフトはないでしょう?

  • キーボードが一部しか入力できません。。。

    キーボードが急にt,y,g,h,b,nのキーしか入力できなくなりました。システム復元では直りませんでした。一体どうすれば直るんでしょうか?よろしくお願いしますm(..)m

  • bashでローカルエコーをオフにする方法

    簡単なシェルスクリプトで、 echo -n "Enter password: " read などと書く場合、入力が画面に表示されないよう、ローカルエコーをオフにするにはどうすればよいでしょう? C言語などを使うやり方ではなくて、シェルスクリプト中で実現できる方法がありましたら教えてください。 シェルは、bash-2.05です。

  • キーボードが正しく入力されない

    キーボードが正しく入力されず、「半角/全角」キーを押すと「`」が入力されたり、「Y」キーを押すと文字は入力されず方向キーが反応したりします。左側のキー(BやFなど)は正しく入力されます。 使用製品は「TK-CAP02BK」、タブレットは「iPad第七世代」のiOS15.5です。 端末のキーボード設定は「自動-US」でローマ字入力しています。 ※OKWAVEより補足:「エレコム株式会社の製品」についての質問です。

  • キーボード入力がおかしい

    日本語用キーボードを使用しているのに、英語用キーボードとして認識されてしまいます。 例)[半角/全角]で`が入力されます。 この現象は、Excel、WordなどのOffice系のソフトやIEなどで発生しています。(OSはWinXPです。) ただし、メモ帳でだけは通常の日本語キーボードとして入力を受け付けます。 デバイスマネージャーを見ると、ちゃんと106の日本語キーボードと出ています。 しかし、キーをたたくと入力される文字は英字キーボードとして認識されているようです。 現在のキーボードのドライバを削除し、再度インストールしてみましたが、状況は変わりません。 他にどこかに設定などがあるのでしょうか?

  • bashシェルスクリプトで変数を使う

    bashシェルスクリプト内で変数を使いたいです。 Linux内の設定ファイルを参考に、 ・変数名=その内容、で設定 ・${変数名} 、で呼び出す だと判断し、以下のように使っています。 #!/bin/bash WORK=/home/aaa/ cd ${WORK} その後検索したところ、 「呼び出すには、$変数名 のように記述する」との説明を見かけ、 実際$の後に変数名を付けるだけでも認識したのですが、 { }は付けても付けなくてもよいのでしょうか。 { }が必要な場合もあるのでしょうか。