ユーザーが入力したサーバーのリストを読み取り、変数に保存するにはどうすればよいですか?
例:
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
これにより、ユーザーはアイテムを手動で入力したりファイルからリダイレクトしたりできます。