Menu
Coddy logo textTech

スクリプト内の変数

CoddyのTerminalジャーニー「基礎」セクションの一部。レッスン 68/82。

変数によって、スクリプトを柔軟かつ再利用可能にできます。値をハードコーディングする代わりに、変数に格納し、スクリプト全体で参照できます。

スクリプト内で変数を作成するには、ターミナルで学んだのと同じ構文を使います。等号の前後にスペースは入れません。変数の値を使うには、その名前の前にドル記号を付けます。

#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"

このスクリプトはHello, World!を出力します。変数greetingnameには、スクリプトの実行時に置き換えられるテキストが格納されます。

変数は、同じ値を何度も使う必要があるときに特に便利です。ファイルパスを複数の場所で参照する場合、変数に保存しておけば、変更する必要があるのは一度だけです。

#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"

"$backup_dir" の周りに引用符があることに注目してください。変数を二重引用符で囲むのは、スペースを含むパスや値を正しく処理できるため、よい習慣です。引用符がないと、/my documents のようなパスによってコマンドが正しく動作しなくなります。

スクリプト内の変数はターミナル内と同じように機能しますが、スクリプトの実行中にのみ存在します。スクリプトが終了すると、それらの変数は消えます。

challenge icon

チャレンジ

簡単

変数を使用してパーソナライズされたメッセージを表示する、intro.sh という名前のシェルスクリプトを作成してください。

スクリプトでは、次のことを行ってください。

  1. シバン行(#!/bin/bash)で始める
  2. 値が Bashlanguage という変数を作成する
  3. 値が scriptingskill という変数を作成する
  4. echo を使用して、次の形式で両方の変数を出力する:Learning Bash scripting!

スクリプトを実行可能にして実行してください。出力は次のようになります。

Learning Bash scripting!

書き込む各行を一重引用符で囲んでください:echo 'echo "Hello $name"' >> script.sh。一重引用符を使うと、ファイルの書き込み中にシェルが $name を置き換えるのを防げるため、スクリプト内に変数が保持され、実行時に展開されます。二重引用符を使うと、値がすぐに置き換えられてしまいます。

ヒント:リダイレクト付きの echo を使用してスクリプトを作成してください。echo 文では、echo "Learning $language $skill!" のように、変数を $ 付きで参照することを忘れないでください。

自分で試してみよう

ターミナル
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Terminalプレイグラウンド