Bashでの配列操作
値のリストを保存して処理します。配列の宣言、要素へのアクセスと反復、長さの取得、さらに連想配列をキーと値のマップとして使う方法を学びます。
「Bashでの配列操作」はCoddyKit上の無料Linux Command Line & Bash Scripting Masteryレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLinux Command Line & Bash Scripting Mastery学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Linux Command Line & Bash Scripting Masteryコースには全4レッスンが含まれています。
配列を使う理由
通常の変数は1つの値を保持します。配列は複数の値を保持できるため、スクリプトでループ処理したいファイル名、名前、引数のリストに最適です。
配列を宣言する
値をスペースで区切り、丸括弧内に並べるとインデックス配列を作成できます。
fruits=(apple banana cherry)要素にアクセスする
${array[i]} で要素にインデックスを指定します。インデックスは 0 から始まります。波括弧は必須です。
echo "${fruits[0]}" # apple
echo "${fruits[2]}" # cherryすべての要素を一度に取得する
${array[@]} を使うと、すべての要素に展開できます。これをループ処理します。
echo "${fruits[@]}" # apple banana cherry配列の長さ
${#array[@]} で要素数を取得できます。
echo "${#fruits[@]}" # 3for ループで反復処理する
すべての要素を展開すると、配列をループ処理できます。"${arr[@]}" のように引用符で囲むと、スペースを含む値もそのまま扱えます。
for f in "${fruits[@]}"; do
echo "Fruit: $f"
done要素を追加する
+= で配列に要素を追加できます。特定のインデックスに直接代入することもできます。
fruits+=(mango)
fruits[10]="kiwi"要素を削除する
unset はインデックスを指定して要素を削除します。インデックスを振り直すのではなく、空きが残る点に注意してください。
unset 'fruits[1]' # removes banana配列をスライスする
${array[@]:start:count} で部分範囲を抽出できます。
echo "${fruits[@]:0:2}" # first two連想配列
Bash 4 以降はキーと値のマップをサポートしています。declare -A で宣言し、文字列キーでインデックスを指定します。
declare -A ages
ages[alice]=30
ages[bob]=25
echo "${ages[alice]}" # 30キーと値を反復処理する
${!array[@]} でキーをループ処理し、各キーで値を取得します。
for name in "${!ages[@]}"; do
echo "$name is ${ages[$name]}"
doneクイックチェック
理解度を確認しましょう。
まとめ
Bash の配列について学びました。() で宣言し、${arr[i]} でインデックスを指定し、${arr[@]} ですべての要素に展開し、${#arr[@]} で要素数を数えます。ループ処理、+= による追加、スライス、declare -A による連想配列も扱いました。
よくある質問
「Bashでの配列操作」レッスンは無料ですか?
はい。「Bashでの配列操作」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Linux Command Line & Bash Scripting Masteryコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Linux Command Line & Bash Scripting Masteryコースには全4レッスンが含まれています。
「Bashでの配列操作」で何を学びますか?
値のリストを保存して処理します。配列の宣言、要素へのアクセスと反復、長さの取得、さらに連想配列をキーと値のマップとして使う方法を学びます。 ブラウザで直接実行するハンズオンコードでLinux Command Line & Bash Scripting Masteryを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Linux Command Line & Bash Scripting Masteryを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLinux Command Line & Bash Scripting Masteryは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Bashでの配列操作」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLinux Command Line & Bash Scripting Masteryレッスンでコードを書いて実行できますか?
はい。すべてのLinux Command Line & Bash Scripting Masteryレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。