所以我还在学习shell脚本,并试图弄清楚如何返回一串数字。我的代码如下:
#!/bin/bash
read -p "Enter NUM1 " NUM1
read -p "Enter NUM2 " NUM2
if [ $NUM1 -gt $NUM2 ]; then $NUM1=g1 && $NUM2=g2
elif [ $NUM2 -gt $NUM1 ]; then $NUM2=g1 && $NUM1=g2; fi
for VALUE in $@; do
if [ $VALUE -lt $g1 ] && [ $VALUE -gt $g2 ]; then COUNT=$((COUNT+1)); fi
done
echo $VALUE happened $COUNT times
基本上我会传递一个数字列表,并希望返回g1和g2之间的匹配数以及匹配本身。任何帮助表示赞赏。
答案 0 :(得分:0)
问题是你颠倒了g1和g2赋值的顺序!
这是你的脚本工作:
#!/bin/bash
read -p "Enter NUM1 " NUM1
read -p "Enter NUM2 " NUM2
if [ $NUM1 -gt $NUM2 ]; then g1=$NUM1 && g2=$NUM2
elif [ $NUM2 -gt $NUM1 ]; then g1=$NUM2 && g2=$NUM1; fi
for VALUE in $@; do
if [ $VALUE -lt $g1 ] && [ $VALUE -gt $g2 ]; then COUNT=$((COUNT+1)); fi
done
echo $VALUE happened $COUNT times