arrays - Bash for ファイル - Bashで文字列の配列をループするには?

Bash for 配列 / arrays / bash / shell

15個の文字列(おそらく配列?)をループするスクリプトを書きたいのですが、可能でしょうか?

こんな感じで。

for databaseName in listOfNames
then
  #何かをする
end

codeforester



Answer #1

4ndrewの回答と同じ精神で。

listOfNames="RA
RB
R C
RD"

#文字列内の他の空白を許可するには:
#1。リスト変数を二重引用符で囲むか、
#2。IFSノート(「サイドノート」の下)を参照してください

for databaseName in "$listOfNames"   #<-注:「」引用符を追加しました。
do
  echo "$databaseName"  #(つまり、ここで$ databaseNameのアクション/処理を実行します...)
done

#出力
# RA
# RB
# R C
# RD

B.名前にホワイトスペースがない

listOfNames="RA
RB
R C
RD"

for databaseName in $listOfNames  #注:引用符はありません
do
  echo "$databaseName"  #(つまり、ここで$ databaseNameのアクション/処理を実行します...)
done

#出力
# RA
# RB
# R
# C
# RD

標準入力からの読み込み

#行区切り(各databaseNameは行に格納されます)
while read databaseName
do
  echo "$databaseName"  #つまり、ここで$ databaseNameのアクション/処理を実行します...
done # <<< or_another_input_method_here