デジタルこどもBASEのロゴ特定非営利活動法人デジタルこどもBASE 道場トップ
第85回LV4⏱ 15〜30分

入力を受け取ろう: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

🚀 やってみよう

  1. cd ~/linux-tanken で練習場所に入ります。
  2. read name と入力してEnterキーを押します。
  3. カーソルが入力待ちになったら、自分の名前など短い文字を入力して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初級の安全な操作範囲です。困ったときの対処として「直前のコマンド」「画面に出たメッセージ」をメモしておくと、次回の質問がスムーズになります。