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

引数を受け取ろう:$1

🎯 きょうのミッション

$1はスクリプト実行時に渡した1つ目の値です。

👉 $1 を使って、スクリプトに渡した1つ目の値を表示するのが今回のゴールです。

📖 $1 = スクリプトに渡した1つ目の値

スクリプトを実行するときに bash greet.sh たんけんたい と書くと、たんけんたい がスクリプトの中で $1 という名前で使えます。

実行:    bash greet.sh たんけんたい  好き
                    ↑           ↑      ↑
                  $0          $1      $2
              スクリプト名   1つ目    2つ目

例:

$ cat greet.sh
echo "こんにちは、$1 さん!"
$ bash greet.sh たんけんたい
こんにちは、たんけんたい さん!

read は実行中に聞く、$1 は実行時に最初から渡す。状況に応じて使い分けます。

🧠 できるようになること

  • $1 がスクリプトの引数の1つ目だと答えられる
  • bash の役割を、結果の例から確かめられる
  • 練習用ディレクトリの中で安全に試せる

🧰 用意するもの

  • このページの「🖥 れんしゅうターミナル」(練習用ディレクトリ linux-tanken 入り)
  • キーボードで英数字と記号を入力できること

🖼 ターミナルの見本

このコマンドを実行すると、こんな結果になります(環境によって少し違うことがあります)。

📺 実行例
$ bash greet.sh たんけんたい
こんにちは、たんけんたい さん!

⌨️ 今日のコマンド

Terminalれんしゅうターミナル
bash greet.sh たんけんたい

🚀 やってみよう

  1. cd ~/linux-tanken で練習場所に入ります。
  2. (greet.sh がなければ)echo 'echo "こんにちは、$1 さん!"' > greet.sh で作っておきます。
  3. ls で実行するスクリプトファイルがあるか確認します。
  4. bash greet.sh たんけんたい と入力してEnterキーを押します。
  5. スクリプトの中身が順に実行され、echoした文字が画面に流れます。

💡 探検ポイント

$1 $2...は引数の位置で呼び出す。スクリプトを「人にも使える道具」にする入口。

🎮 チャレンジ

  • スクリプトの中身を cat で確認してから実行しよう。
  • nanoで1行だけ変えて、実行結果が変わるか試そう。

📝 ふりかえり

  • $0 $1 $2 はそれぞれ何だった?
  • スクリプトに値を渡すのと、read で受け取るの、どっちが好き?
  • 引数を3つ受け取るスクリプトを考えてみよう。

❓ うまくいかないとき

  • command not found → コマンド名のスペル確認。Tab補完で打ち間違いを防げる
  • No such file or directory → ls でファイル名・パスを見直す
  • 画面が固まった → Ctrl + C でコマンドを止める
  • 画面が乱れた → clear または Ctrl + L で整理する

👨‍👩‍👧 おうちの人・先生へ

この回はLinux初級の安全な操作範囲です。困ったときの対処として「直前のコマンド」「画面に出たメッセージ」をメモしておくと、次回の質問がスムーズになります。