【发布时间】:2015-12-25 21:30:22
【问题描述】:
我想写一个 bash 脚本:
schedsim.sh [-h] [-c x] -i pathfile
地点:
• -h:打印当前用户名。
• -c x :获取选项参数 x 并打印出 (x + 1)。如果没有找到参数,则打印默认值为 1。
• -i pathfile:打印路径文件的大小。路径文件是必需的参数。如果未找到参数,则打印错误消息。
这是我到目前为止所做的:
x=""
path=""
while getopts ":hc:i:" Option
do
case $Option in
h) echo -e "$USER\n"
;;
c) x=$optarg+1
;;
i) path=$(wc -c <"$optarg")
;;
esac
done
if [ -z "$x"]
then
echo -e "$x\n"
else
echo 1
fi
if [ -z "$path"]
then
echo $path
else
echo "Error Message"
exit 1
fi
如何完成option-argument、required-argument部分和error message部分?
【问题讨论】:
-
也许您可以获取所有值并首先将它们设置为变量,而不是循环。然后你可以检查
i是否通过,然后再进行任何其他处理:if [ -z "$i" ]...,如果没有通过,则打印使用情况。 -
我编辑了,对吗?