シェルスクリプトはヘルプテキストファイルを配列に書き込みます。

シェルスクリプトはヘルプテキストファイルを配列に書き込みます。
#!/bin/bash
function guest {
i=0
while IFS = $'\n' read -r name; do
GUESTS[i]="${name}"
((i++))
done<filename.txt
}
function print{
i=0
while ((${GUESTS[@]} > $i)) do
echo "${GUESTS[i++]}\n" 
done
}

上記のコードでは、2つの機能を使用して2つのことを試してください。最初の機能は、任意の人名のリスト(Bob \ n、Jennifer \ n、Caleb \ nなど)を含むテキストファイルをインポートして配置することです。 GUESTS 配列に変換します。コードは訪問者配列になければなりません。次に、2番目の関数は、各名前が1行に含まれているGUESTS配列を印刷する必要があります。

答え1

組み込みのbashを使用してこれを行うことができますmapfile

$ cat /tmp/file.txt 
Bob
Jennifer
Caleb
$ mapfile -t guests < /tmp/file.txt
$ printf '%s\n' "${guests[@]}"
Bob
Jennifer
Caleb

答え2

最初の機能の場合、Bashはすでにこれを簡単に作成します。これはあなたがしなければならないすべてです:

readarray GUESTS < filename.txt

2番目の場合は、次のようにする必要があります。

print () {
   for index in ${!GUESTS[@]}; do
   echo ${GUESTS[$index]}
   done
}

関連情報