我想在bash中将一个变量分配给一个以逗号分隔的输入

我想在bash中将一个变量分配给一个以逗号分隔的输入,bash,Bash,这是我的密码 echo "Tell me your variables separated by comma: " # EJ: Johnny, Paul, Mary read variables #I want to assing a variable to each name #like: #name1=Johnny #name2=Paul #name3=Mary #but i want it to do it automatically 我只想为用户输入的每

这是我的密码


echo "Tell me your variables separated by comma: "

# EJ: Johnny, Paul, Mary

read variables

#I want to assing a variable to each name
#like:
#name1=Johnny
#name2=Paul
#name3=Mary

#but i want it to do it automatically 

我只想为用户输入的每个名称分配一个变量。

如果需要固定数量的值,您只需使用

 IFS=, read -r name1 name2 name3
如果值的数量是任意的,则改为读入数组:

 IFS=, read -ra names

然后,您可以使用
“${names[@]}”
一次访问所有名称,或者使用
“${names[0]}”
“${names[1]}”
等选择单个名称。要了解您有多少个名称,请使用
“${names[@]}”
,并使用
declare-p names
检查数组