我是Shell脚本的新手,正在独立学习。我看到很多脚本都有一个usage()
函数,例如:
usage()
{
echo "Usage: $0 filename"
exit 1
}
哪些函数应该被称为usage
?是否与“使用说明”有关系?我找不到任何关于这个的基本定义...
这只是一种惯例。当命令行中提供的值有问题时,人们通常使用一个叫做usage()的函数来告诉你问题所在/期望的值。例如:
#!/bin/sh
if [ $# -ne 1 ] ; then
usage
else
filename=$1
fi
...
-h,--help
)时将使用说明打印到标准输出(&1);否则将使用说明打印到标准错误输出(&2)。 - rubicks当您检查程序发送的参数时,有时需要通知用户它们未能成功执行命令。
例如,如果您期望使用myprogram filename
调用您的程序,则如果没有参数或多于1个参数,您将调用usage
。
与其在代码中的几个位置都使用usage
的相同消息内容,最好的做法是仅使用一个函数。
usage()
中使用heredoc
。参见:Here Documents - The Linux Documentation Project。这通常是在usage()
给出脚本详细信息以及每个选项的列表和描述时所使用的。它可以防止连续使用大量的echo
或printf
语句... - David C. Rankin