Bash で配列要素を出力する
-
echo
ステートメントを使用して Bash で配列要素を出力する -
for
ループを使用して、Bash で配列要素を別々の行に出力する -
history
キーワードを使用して、Bash で配列要素を別々の行に出力する -
basename
キーワードを使用して、Bash で配列要素を別々の行に出力する -
shuf
キーワードを使用して、Bash で配列要素を別々の行に出力する
配列を操作する場合、配列に格納されているデータを確認する必要がある場合があります。 Bash スクリプトには、配列要素を出力するために使用できるメソッドがいくつかあります。
この記事では、Bash スクリプトで配列要素を出力する方法を示します。 この目的のために、5つの異なる方法について説明します。
また、トピックを簡単にするために必要な例と説明も表示されます。
echo
ステートメントを使用して Bash で配列要素を出力する
このメソッドでは、echo
キーワードを使用して配列のすべての要素を出力します。 ただし、このキーワードはすべての配列要素を 1 行に出力します。
この目的のために、以下のサンプル コードに従うことができます。
MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: ${MyArray[@]}"
上記の Bash スクリプトを実行すると、次のような出力が得られます。
The array elements are: A B C D E
for
ループを使用して、Bash で配列要素を別々の行に出力する
以下の例では、ループを使用して配列の要素を出力します。 お好みのループを使用できますが、この例では for
ループを使用します。
この例のコードを以下に示します。
MyArray=('A' 'B' 'C' 'D' 'E')
for item in "${MyArray[@]}"
do
echo "$item"
done
上記の例では、${MyArray[@]}
であるコードの一部を確認できます。 これは、配列のすべての要素をループで取得するためのものです。
上記の Bash スクリプトを実行すると、次のような出力が得られます。
A
B
C
D
E
history
キーワードを使用して、Bash で配列要素を別々の行に出力する
次のメソッドでは、キーワード history
を使用して配列の要素を出力します。 ただし、配列要素に !
が含まれている場合、このメソッドは失敗する可能性があることに注意してください。
以下の例では、配列要素を出力するために history
キーワードを使用します。 この例のコードは次のようになります。
MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
history -p "${MyArray[@]}"
上記の Bash スクリプトを実行すると、以下の出力が得られます。
The array elements are:
A
B
C
D
E
basename
キーワードを使用して、Bash で配列要素を別々の行に出力する
キーワード basename
を使用して、配列のすべての要素を出力することもできます。 ただし、配列要素に !
が含まれている場合、このメソッドは失敗する可能性があることに注意してください。
以下の例では、配列要素を出力するために basename
キーワードを使用します。 この例のコードを以下に示します。
MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
basename -a "${MyArray[@]}"
上記の Bash スクリプトを実行すると、次の出力が得られます。
The array elements are:
A
B
C
D
E
shuf
キーワードを使用して、Bash で配列要素を別々の行に出力する
Bash には、配列要素を出力するのと同じ目的で使用できる別の組み込みキーワード shuf
があります。 ただし、この方法では出力が順序どおりに提供されない場合があることに注意してください。
以下の例では、配列要素を出力するために shuf
キーワードを使用します。 この例のコードは次のようになります。
MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
shuf -e "${MyArray[@]}"
上記の Bash スクリプトを実行すると、次の出力が得られます。
The array elements are:
B
A
C
E
D
必要に応じて、上記のいずれかの方法を選択できます。
この記事で使用するコードはすべて Bash で記述されていることに注意してください。 Linux シェル環境でのみ動作します。
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn