问题标题:
编写一个名为month的shell程序,其功能是将作为自变量的月份数据转换成英文的月份单词,并把运行结果存入用户主目录下mon文件中下面程度中,加if那段程序什么意思,看不懂,还有最后exit2是什
问题描述:
编写一个名为month的shell程序,其功能是将作为自变量的月份数据转换成英文的月份单词,并把运行结果存入用户主目录下mon文件中
下面程度中,加if那段程序什么意思,看不懂,还有最后exit2是什么意思.是不是exit1呀
iftest“$#”–ne1
then
echo“usage:monthd:git”
exit1
fi
case“$1”in
1)echoJanuary;;
2)echoFebruary;;
3)echoMarch;;
4)echoApril;;
5)echoMay;;
6)echoJune;;
7)echoJuly;;
8)echoAugust;;
9)echoSeptember;;
10)echoOctober;;
11)echoNevtrnber;;
12)echoDecember;;
*)echo“mustinrang1-12”
exit2;;
esac
胡晓明回答:
if那段程序用于判断程序参数数目,如果不等于1,就直接返回exit1.
此程序运行需要带一个数字参数(1~12),比如month7,然后后面用$1取得该参数值.
exit1也好,exit2也罢,都是返回一个错误码.shell中0表示true(正确),非0表示false(错误).这个错误码可以是不大于255的任何一个整数(因为目前的标准就只有8个bit用来表示退出状态,最大就是0xFF,即255).
程序退出后,可以通过检查得知错误码,不同的错误码可以用于区分不同的错误原因,比如这里,错误码为1表示运行程序时参数数目不正确,错误码2表示参数值超出范围1~12.
点击显示
英语推荐
热门英语推荐