Bash 如何从用户处获取10个整数,并将它们放入shell脚本中的数组中
我认为这个问题相当开放。我需要从用户处获取10个整数,但我只能获取一个,如下所示:Bash 如何从用户处获取10个整数,并将它们放入shell脚本中的数组中,bash,shell,terminal,Bash,Shell,Terminal,我认为这个问题相当开放。我需要从用户处获取10个整数,但我只能获取一个,如下所示: echo "Please enter some input: " read input_variable echo "You entered: $input_variable" read -p "Enter an array: " -a arr echo "You entered: ${arr[@]}" 但我需要拍10张。第一个问题是,是否存在某种for循环,以在每次执行时递增,并在达到10时完成 如何将这些
echo "Please enter some input: "
read input_variable
echo "You entered: $input_variable"
read -p "Enter an array: " -a arr
echo "You entered: ${arr[@]}"
但我需要拍10张。第一个问题是,是否存在某种for循环,以在每次执行时递增,并在达到10时完成
如何将这些输入放入数组?使用
read-a
如下:
echo "Please enter some input: "
read input_variable
echo "You entered: $input_variable"
read -p "Enter an array: " -a arr
echo "You entered: ${arr[@]}"
像这样使用
read-a
:
echo "Please enter some input: "
read input_variable
echo "You entered: $input_variable"
read -p "Enter an array: " -a arr
echo "You entered: ${arr[@]}"
像这样使用
read-a
:
echo "Please enter some input: "
read input_variable
echo "You entered: $input_variable"
read -p "Enter an array: " -a arr
echo "You entered: ${arr[@]}"
像这样使用
read-a
:
echo "Please enter some input: "
read input_variable
echo "You entered: $input_variable"
read -p "Enter an array: " -a arr
echo "You entered: ${arr[@]}"
可以从一行中读取多个以空格分隔的值:
read a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
echo "First value: $a1"
echo "Second value: $a2"
# etc.
read
命令将读取一行,但根据空格将该行拆分为单词,并按顺序将其分配给给定的名称。如果输入的数字较少,则后面的变量保持未设置状态。如果有10个以上的数字,a10
将保存其余的值
要使用数组,请使用-a
标志将所有值放在单个数组中:
read -a arr
echo "First value: ${arr[0]}"
echo "Second value: ${arr[1]}"
# etc.
可以从一行中读取多个以空格分隔的值:
read a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
echo "First value: $a1"
echo "Second value: $a2"
# etc.
read
命令将读取一行,但根据空格将该行拆分为单词,并按顺序将其分配给给定的名称。如果输入的数字较少,则后面的变量保持未设置状态。如果有10个以上的数字,a10
将保存其余的值
要使用数组,请使用-a
标志将所有值放在单个数组中:
read -a arr
echo "First value: ${arr[0]}"
echo "Second value: ${arr[1]}"
# etc.
可以从一行中读取多个以空格分隔的值:
read a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
echo "First value: $a1"
echo "Second value: $a2"
# etc.
read
命令将读取一行,但根据空格将该行拆分为单词,并按顺序将其分配给给定的名称。如果输入的数字较少,则后面的变量保持未设置状态。如果有10个以上的数字,a10
将保存其余的值
要使用数组,请使用-a
标志将所有值放在单个数组中:
read -a arr
echo "First value: ${arr[0]}"
echo "Second value: ${arr[1]}"
# etc.
可以从一行中读取多个以空格分隔的值:
read a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
echo "First value: $a1"
echo "Second value: $a2"
# etc.
read
命令将读取一行,但根据空格将该行拆分为单词,并按顺序将其分配给给定的名称。如果输入的数字较少,则后面的变量保持未设置状态。如果有10个以上的数字,a10
将保存其余的值
要使用数组,请使用-a
标志将所有值放在单个数组中:
read -a arr
echo "First value: ${arr[0]}"
echo "Second value: ${arr[1]}"
# etc.
晚会迟到:
nums=()
for i in {1..10}; do
read -p "$i. Enter a number: " num
# ... validate response is a number, if you like ...
nums+=("$num")
done
printf "%s\n" "${nums[@]}"
晚会迟到:
nums=()
for i in {1..10}; do
read -p "$i. Enter a number: " num
# ... validate response is a number, if you like ...
nums+=("$num")
done
printf "%s\n" "${nums[@]}"
晚会迟到:
nums=()
for i in {1..10}; do
read -p "$i. Enter a number: " num
# ... validate response is a number, if you like ...
nums+=("$num")
done
printf "%s\n" "${nums[@]}"
晚会迟到:
nums=()
for i in {1..10}; do
read -p "$i. Enter a number: " num
# ... validate response is a number, if you like ...
nums+=("$num")
done
printf "%s\n" "${nums[@]}"
我不太明白你的答案。你能再解释一下吗?它接受用户的数组(虽然它不会限制为10个元素),但你可以使用
${arr[@]}
计算输入的元素数,如果需要,再次提示用户。@judge,您需要输入10个空格分隔的数字。我不太明白您的答案。您能再解释一下吗?它接受用户的数组(虽然它不会限制为10个元素),但您可以使用${arr[@]}
计算输入的元素数,并在需要时再次提示用户。@judge,您需要输入10个空格分隔的数字。我不太明白您的答案。您能再解释一下吗?它接受用户的数组(虽然它不会限制为10个元素),但您可以使用${arr[@]}
计算输入的元素数,并在需要时再次提示用户。@judge,您需要输入10个空格分隔的数字。我不太明白您的答案。您能再解释一下吗?它接受用户的数组(虽然它不会限制为10个元素),但您可以使用${arr[@]}
计算输入的元素数,并在需要时再次提示用户。@judge,您需要输入10个空格分隔的数字。在您解释之前,我管理第一部分:),但我仍然不知道如何处理数组。我读取了输入,从int1到int10得到了10 int。接下来我将做什么。我将标记什么?抱歉,我在访问数组的代码中有一个输入错误。在您解释之前,我管理了第一部分:),但我仍然不知道如何处理数组。我读取了输入,从int1到int10得到了10 int,接下来我将做什么。我将标记什么?抱歉,我在访问数组的代码中有一个输入错误。在您解释之前,我管理了第一部分:),但我仍然不知道如何处理数组。我读取了输入,从int1到int10得到了10 int,接下来我将做什么。我将标记什么?抱歉,我在访问数组的代码中有一个输入错误。在您解释之前,我管理了第一部分:),但我仍然不知道如何处理数组。我读取了输入,从int1到int10得到了10 int,接下来我将做什么。我将标记什么?抱歉,我在访问数组的代码中有一个输入错误