Bashの変数と配列 - 代入、エクスポート、配列、スコープ
bashの変数代入、環境変数、インデックス付き配列と連想配列、変数スコープ、特殊シェル変数を実践的な例とともに学びます。
Variables
詳細な説明
Bashの変数と配列
変数はスクリプト全体で使用するデータを保存します。Bashは単純な変数、インデックス付き配列、連想配列(bash 4+)をサポートしています。
変数の代入
NAME="Alice"
COUNT=42
TODAY=$(date +%Y-%m-%d)
readonly VERSION="2.0.0" # 読み取り専用
unset TEMP_VAR # 変数を削除
環境変数
export DATABASE_URL="postgres://localhost/mydb"
export PATH="$PATH:/usr/local/bin"
NODE_ENV=production node server.js # 単一コマンド用に設定
特殊変数
$0 # スクリプト名
$1-$9 # 位置引数
$# # 引数の数
$@ # すべての引数(個別にクォート)
$? # 最後のコマンドの終了ステータス
$$ # 現在のシェルのPID
インデックス付き配列
FRUITS=("apple" "banana" "cherry" "date")
echo ${FRUITS[0]} # apple
echo ${FRUITS[@]} # すべての要素
echo ${#FRUITS[@]} # 配列の長さ
FRUITS+=("elderberry") # 追加
連想配列(Bash 4+)
declare -A CONFIG
CONFIG[host]="localhost"
CONFIG[port]="3000"
for key in "${!CONFIG[@]}"; do
echo "$key = ${CONFIG[$key]}"
done
ユースケース
変数と配列はすべてのbashスクリプトの基本です。設定値の保存、コマンドライン引数の処理、動的コマンドの構築、アイテムのリスト(サーバー、ファイル、ユーザー)の管理、関数間のデータの受け渡しに使用されます。