入力を受け取ろう:read
readで利用者が入力した文字を受け取ります。
👉 スクリプトの中で read を使い、利用者から入力を受け取るのが今回のゴールです。
📖 read = ユーザーの入力を待つ
スクリプトを「自分しか使わない」ものから「人に使ってもらう」ものに進化させるのが read。実行中に キーボード入力を受け取れる ようになります。
Terminalreadの使い方
echo "あなたの名前を教えて"
read username
echo "こんにちは、$username さん!"
これを実行すると、read の行でカーソルが止まり、入力を待ちます。Enter を押すと、入れた文字が username 箱に入って次の行へ進みます。
🧠 できるようになること
read 変数名でユーザー入力を受け取れるreadの役割を、結果の例から確かめられる- 練習用ディレクトリの中で安全に試せる
🧰 用意するもの
- このページの「🖥 れんしゅうターミナル」(練習用ディレクトリ
linux-tanken入り) - キーボードで英数字と記号を入力できること
🖼 ターミナルの見本
このコマンドを実行すると、こんな結果になります(環境によって少し違うことがあります)。
📺 実行例
$ read name たろう $ echo "$name" たろう (read のあとは入力待ち。文字を打ってEnterを押すと、変数に入ります)
⌨️ 今日のコマンド
Terminalれんしゅうターミナル
read name🚀 やってみよう
cd ~/linux-tankenで練習場所に入ります。read nameと入力してEnterキーを押します。- カーソルが入力待ちになったら、自分の名前など短い文字を入力してEnter。
💡 探検ポイント
read は実行中に聞く、$1 は実行時に最初から渡す。状況で使い分け。
🎮 チャレンジ
- スクリプトの質問文を「あなたの名前を教えて」から「好きな食べ物は?」に書きかえて動かそう。
readを2回使って、名前と年齢の2つを聞くスクリプトに改造しよう。- 何も入力せずEnterだけ押したらどうなる?
echoの結果を確かめよう。
📝 ふりかえり
readでカーソルが止まる瞬間、どう感じた?- 入力した文字はどこに入った?
readを使った遊びを1つ思いつく?
❓ うまくいかないとき
- command not found → コマンド名のスペル確認。Tab補完で打ち間違いを防げる
- No such file or directory →
lsでファイル名・パスを見直す - 画面が固まった →
Ctrl + Cでコマンドを止める - 画面が乱れた →
clearまたはCtrl + Lで整理する
👨👩👧 おうちの人・先生へ
この回はLinux初級の安全な操作範囲です。困ったときの対処として「直前のコマンド」「画面に出たメッセージ」をメモしておくと、次回の質問がスムーズになります。
