BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

例を含むBash配列

配列は要素のコレクションです。 Bashでは、配列にさまざまなタイプの要素を混在させることができます。文字列と数字。

このチュートリアルでは、Bashで配列を作成して使用する方法について説明します。また、ループ、印刷、サイズの取得、コンテンツの変更などの配列操作についても説明します。

Bashで配列を作成する方法

Bash配列を作成する方法は2つあります。

宣言キーワードの使用
declare -a my_bash_array

これにより、「my_bash_array」という名前のインデックス付き配列が作成されます。

アレイの初期化

代入演算子=を使用して、その場で配列を作成および初期化することもできます。 中括弧内の要素()

my_bash_array=("apple" "orange" "banana")

または、インデックスを明示的に指定することもできます

my_bash_array[0]="apple"
my_bash_array[1]="orange"
my_bash_array[2]="banana"
注: =の両側にスペースを入れないでください オペレーター。 バッシュ配列の長さ

配列の長さまたはサイズを取得するには、${#array_name[@]}を使用します 。

例:

my_bash_array=(foo bar baz)
echo "the array contains ${#my_bash_array[@]} elements"

#Output
the array contains 3 elements
バッシュ配列ループ

Bash配列内のすべての要素を反復処理するには、forループを使用できます。

#!/bin/bash

my_array=(foo bar baz)

# for loop that iterates over each element
for i in "${my_array[@]}"
do
    echo $i
done

出力:

foo
bar
baz
すべての要素を印刷する

ループなしで配列のすべての要素を出力するには、次の構文を使用できます。

echo ${my_array[@]}
配列への要素の追加

配列に要素を追加するには、+=を使用します オペレーター。これにより、配列の最後に要素が追加されます。

例:

my_array=(foo bar)
my_array+=(baz)

echo "${my_array[@]}"
foo bar baz

または、インデックスを使用して要素を追加することもできます:

my_array=(foo bar)
my_array[2]=baz

echo "${my_array[@]}"
foo bar baz
配列から要素を削除

Bash配列から要素を削除するには、unsetを使用します コマンド。

例:

my_array=(foo bar baz)
unset my_array[1]
echo ${my_array[@]}
foo baz
結論

このチュートリアルでは、Bash配列について説明しました。 Bashで配列を作成および初期化する方法と、長さを取得する方法、要素をループする方法、要素を印刷する方法、配列の内容を変更する方法。


  1. rbash –実用的な例で説明された制限付きBashシェル

    Linuxシェル 最も魅力的で強力なGNUの1つです / Linux 電動工具。 Xを含むすべてのアプリケーション はシェル上に構築されており、Linuxシェルは非常に強力であるため、それを使用してLinuxシステム全体を正確に制御できます。 Linuxシェルのもう1つの側面は、システムコマンドを実行すると、その結果を知らずに、または無意識のうちに、潜在的に有害になる可能性があることです。 無知なユーザーであること。この目的のために、制限付きシェルを導入しています。制限付きシェルの詳細、実装されている制限などについて説明します。 rbashとは何ですか? 制限付きシェル は、b

  2. 6 つの実用的な例を含む Bash シェル関数のチュートリアル

    Bash シェル関数は、グループに単一の名前を使用して、後で実行するために複数の UNIX / Linux コマンドをグループ化する方法です。 . Bash シェル関数は、通常の Unix コマンドと同じように実行できます。シェル関数は、それらを解釈するための新しいプロセスを作成することなく、現在のシェル コンテキストで実行されます。bash エイリアスと関数の両方を使用すると、より長い、またはより複雑なコマンドのショートカットを定義できます。ただし、エイリアスは、このチュートリアルで説明されているように、これらの関数が許可する制御フロー、引数、およびその他の巧妙なものを許可しません。 この