Linux脚本:给定列表时返回范围

时间:2013-06-27 18:28:16

标签: shell

所以我还在学习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之间的匹配数以及匹配本身。任何帮助表示赞赏。

1 个答案:

答案 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