【发布时间】:2015-10-02 19:36:46
【问题描述】:
我有一个作业,写一个程序 schedsim.sh 用:
schedsim.sh [-h] [-c x] -i filename
在这个:
-h:打印用户名
-c:打印x+1(x从键盘输入),如果不输入x,打印1
-i:打印文件名大小,文件名是输入的文件名。
我的代码:
#i/bin/bash/
while getopts ":hc:i:" Option
do
case $Option in
h)
whoami
;;
c) a=$OPTARG
if [ -z "$a" ]; then
a=1
else
a=`expr $a + 1`
fi
echo $a
;;
i) echo 'Size of file: Kylobytes'
ls -s $OPTARG
;;
*) echo 'sonething wrong'
;;
esac
done
但是,当我打电话时:
./schedsim.sh -c -i abc.txt
错误。
对不起,我的英语很差!
【问题讨论】:
-
我要告诉你的第一件事是你在第一行的“shebang”是错误的。它不应该是
#i...它应该有一个感叹号!而不是i。如,它应该是#!...。 -
什么当您调用它时遇到错误?任何选项都有效吗?
getopts自己失败了吗? -
几天前你的同学问了同样的问题:stackoverflow.com/q/32826395/7552 -- 如果你们都提交,我会得到额外的分数吗? ;)