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

Bash配列–Bashスクリプトで文字列の配列を宣言する方法

Bashスクリプトは、コマンドラインタスクを自動化する便利な方法を提供します。

Bashを使用すると、他のスクリプト言語やプログラミング言語で行うのと同じことの多くを行うことができます。変数の作成と使用、ループの実行、条件付きロジックの使用、およびデータの配列への格納を行うことができます。

機能は非常によく知られているかもしれませんが、Bashの構文は扱いにくい場合があります。この記事では、配列を宣言する方法と、コードで配列を使用する方法を学習します。

Bashで配列を宣言する方法

Bashで配列を宣言するのは簡単ですが、構文に注意してください。他の言語でのプログラミングに慣れている場合、コードは見覚えがあるかもしれませんが、見落としがちな微妙な違いがあります。

配列を宣言するには、次の手順に従います。

  1. アレイに名前を付けます
  2. その変数名の後に等号を付けます。等号はすべきではありません 周りにスペースがあります
  3. 配列を括弧で囲みます (JavaScriptのように角かっこではありません)
  4. 引用符を使用して文字列を入力しますが、カンマは使用しません それらの間

配列宣言は次のようになります。

myArray=("cat" "dog" "mouse" "frog)

それでおしまい!とても簡単です。

Bashで配列にアクセスする方法

配列をループする方法はいくつかあります。要素自体をループするか、インデックスをループすることができます。

配列要素をループする方法

配列要素をループするには、コードは次のようになっている必要があります。

for str in ${myArray[@]}; do
  echo $str
done

これを分解するには:これは forEachを使用するのと少し似ています JavaScriptで。配列(myArray)内の文字列(str)ごとに、その文字列を出力します。

このループの出力は次のようになります:

cat
dog
mouse
frog

@ 角かっこ内の記号は、すべてをループしていることを示します 配列内の要素の。それを省略して、$ {myArray}にforstrと書くだけの場合 、配列の最初の文字列のみが出力されます。

配列インデックスをループする方法

または、配列のインデックスをループすることもできます。これはforのようなものです JavaScriptでループし、各要素のインデックスにアクセスできるようにする場合に便利です。

このメソッドを使用するには、コードが次のようになっている必要があります。

for i in ${!myArray[@]}; do
  echo "element $i is ${myArray[$i]}"
done

出力は次のようになります:

element 0 is cat
element 1 is dog
element 2 is mouse
element 3 is frog

myArrayの先頭にある感嘆符 変数は、インデックスにアクセスしていることを示します 要素自体ではなく、配列の。否定を示す感嘆符に慣れている場合、これは混乱を招く可能性があるため、注意してください。

別のメモ :Bashは通常、変数に中括弧を必要としませんが、配列には必要です。したがって、配列を参照するときは、構文 $ {myArray}を使用して参照することに気付くでしょう。 、ただし、文字列または数値を参照する場合は、ドル記号を使用するだけです: $ i

結論

Bashスクリプトは、自動化されたコマンドライン動作を作成するのに役立ちます。配列は、複数のデータを格納するために使用できる優れたツールです。

宣言して使用するのは難しいことではありませんが、他の言語とは異なりますので、間違いをしないように細心の注意を払ってください。


  1. Bashスリープ–シェルスクリプトをN秒待機させる方法(コマンド例)

    シェルスクリプトを作成しているときに、続行する前に特定の秒数待機する必要がある場合があります。たとえば、プロセスが完了するまで、または失敗したコマンドを再試行する前に、スクリプトを待機させたい場合があります。 これを行うには、非常に単純なsleepを使用できます。 指図。 Bashスリープコマンドの使用方法 Sleep は非常に用途の広いコマンドで、構文は非常に単純です。 sleep Nと入力するのと同じくらい簡単です 。これにより、Nのスクリプトが一時停止します 秒、N 正の整数または浮動小数点数のいずれかです。 この基本的な例を考えてみましょう: echo Hello ther

  2. whileループを使用してBashスクリプトでファイルを読み取るさまざまな方法

    この記事では、whileループを使用してbashスクリプトでファイルを読み取る方法について説明します。 。ファイルの読み取りは、プログラミングの一般的な操作です。さまざまな方法と、どの方法を使用するのがより効率的かを理解している必要があります。 bashでは、1つのタスクをさまざまな方法で実行できますが、タスクを実行するための最適な方法は常に存在するため、それに従う必要があります。 whileループを使用してファイルの内容を読み取る方法を確認する前に 、whileループがどのように機能するかについての簡単な入門書。 whileループは条件を評価し、条件が真の場合に指定されたコードのセットを繰