Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何从用户处获取10个整数,并将它们放入shell脚本中的数组中_Bash_Shell_Terminal - Fatal编程技术网

Bash 如何从用户处获取10个整数,并将它们放入shell脚本中的数组中

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时完成 如何将这些

我认为这个问题相当开放。我需要从用户处获取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,接下来我将做什么。我将标记什么?抱歉,我在访问数组的代码中有一个输入错误