【发布时间】:2012-10-24 18:03:30
【问题描述】:
脚本使用示例
./foo.sh -v -r /home/ -s /home/user/file
./foo.sh -r /home/ -s /home/user/file
在参数中我总是需要一个文件或文件夹来扫描和一个数据库文件(-s 数据库文件)
在 foo.sh 中
function entrance()
{
while getopts "v:r:s" opt; do
case $opt in
v)
echo "-v was triggered, Verbose mode" >&2
;;
r)
echo "-r was triggered, recursive mode: $OPTARG" >&2
;;
s)
echo "-s was triggered, DATABASE: $OPTARG" >&2
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
}
我不知道为什么它不起作用。
请修理我。
谢谢
【问题讨论】:
-
根据你的例子,你的选项字符串应该是
getopts ":vr:s:"——你有什么,-v和-r需要参数,-s不需要。 -
它在什么方面不“工作”?有错误信息吗?