ユーザーのサーバーのリストを読みますか?

ユーザーのサーバーのリストを読みますか?

ユーザーが入力したサーバーのリストを読み取り、変数に保存するにはどうすればよいですか?

例:

Please enter list of server:
(user will enter following:)
abc
def
ghi
END

$echo $variable

abc
def
ghi

シェルスクリプトで実行したいです。シェルスクリプトで以下を使用する場合:

read -d '' x <<-EOF

エラーが発生します。

line 2: warning: here-document at line 1 delimited by end-of-file (wanted `EOF')

これをシェルスクリプトに統合する方法を提案してください。

ベストアンサー1

あなたはできます

servers=()                     # declare an empty array
# allow empty input or the string "END" to terminate the loop
while IFS= read -r server && [[ -n $server && $server != "END" ]]; do
    servers+=( "$server" )     # append to the array
done
declare -p servers             # display the array

これにより、ユーザーはアイテムを手動で入力したりファイルからリダイレクトしたりできます。

おすすめ記事