2013-04-21 42 views
-3

我想编写shell脚本,输入年龄并将其转换为no。几个月;那么按照年龄显示该人是小孩,青少年,成年人或老年人。Unix shell脚本按月数转换年龄

+4

如果这就是你想要做的,那么做,这是什么问题?如果您遇到问题,请告诉我们您尝试过什么,解释它做错了什么,然后有人会帮助您解决问题。 – Barmar 2013-04-21 04:36:39

+0

我对这个shell脚本非常陌生..所以我不知道如何做它我只知道循环的sytax,如果语句...我知道要显示...只是有问题如何转换 – user2303632 2013-04-21 04:38:58

+2

然后,你需要学习。我们不会为您编写代码,您必须首先付出一些努力。 – Barmar 2013-04-21 04:39:43

回答

0

请在这里阅读:http://www.gnu.org/software/bash/manual/bashref.html

下面是一个例子,用于检查如果年龄是一个数字是一个高层次的学校:

printf "Enter age: " 
read age 
if [[ "$age" =~ ^[0-9]+$ ]] ; then 
    months=$(expr $age \* 12) 
    echo "$age years is $months months" 
    if [ $age -lt 11 ]; then 
     echo "child." 
    elif [ $age -lt 20 ]; then 
     echo "teenager." 
    elif [ $age -lt 100 ]; then 
     echo "less than 100, and so on..." 
    fi 
else 
    echo "Enter number." 
fi 

编辑:Barmar指出expr是一个老式方法。您可以改用let "months=$age * 10"

+1

1990年代称为,他们想要他们的' expr'回来。现代shell有内置的表达式处理。 – Barmar 2013-04-21 04:51:42