我认为这个问题非常开放。我需要从用户那里获取10个整数,但我只能用这样的一个:
echo "Please enter some input: "
read input_variable
echo "You entered: $input_variable"
但是我需要采取10.第一个问题是,有什么样的for循环可以在每次拍摄时增加每个拍摄并在达到10时完成?
如何将这些输入放入数组?
答案 0 :(得分:1)
像这样使用read -a
:
read -p "Enter an array: " -a arr
echo "You entered: ${arr[@]}"
答案 1 :(得分:1)
您可以从一行读取多个以空格分隔的值:
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.
答案 2 :(得分:1)
来晚会:
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[@]}"