#!/bin/bash
declare -a tableau
for i in `seq 0 9`
do
echo "enter a nbr : "
read ${tableau[$i]}
done
let "max = ${tableau[0]}"
for j in `seq 1 9`
if [ ${tableau[$i]} -gt $max ]
then
let "max = ${tableau[$i]}"
fi
done
echo "Max is : $max"
用户将在表中输入10,我应该找到最大值和最小值。
最佳答案
如前所述,read语句不应包含$或{}。
应该没有空间分配变量:max = $ {tableau [0]}
在第二个循环中,您正在迭代j,但将i用作数组索引。
那给
#!/bin/bash
declare -a tableau
for i in $(seq 0 9); do
echo "enter a nbr : "
read tableau[$i]
done
max=${tableau[0]}
for j in $(seq 1 9); do
if [ ${tableau[$j]} -gt $max ]; then
max=${tableau[$j]}
fi
done
echo "Max is : $max"
关于linux - 我的Linux Shell脚本有什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58923136/