首页 > 解决方案 > 我想在 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 

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

标签: bash

解决方案


如果预期有固定数量的值,您可以简单地使用

 IFS=, read -r name1 name2 name3

如果值的数量是任意的,则改为读入数组:

 IFS=, read -ra names

然后您可以使用 一次访问所有名称,或使用、等"${names[@]}"选择单个名称。要找出您有多少名称,请使用。"${names[0]}""${names[1]}""${#names[@]}"


推荐阅读