我要寻找一个可重用的代码片段,做的命令行参数验证了庆典。
理想的情况是一个类似于由Apache的百科全书CLI提供的功能:
共享CLI支持不同类型的选项:
- POSIX类似的选项(即焦油-zxvf的foo.tar.gz)
- GNU像长选项(即杜--human可读--max深度= 1)
- 短选项附值(即GCC -O2 foo.c的)
- 长选项用连字符(即蚂蚁-projecthelp)
- ...
并自动生成用于该程序的“使用”的消息,这样的:
usage: ls
-A,--almost-all do not list implied . and ..
-a,--all do not hide entries starting with .
-B,--ignore-backups do not list implied entried ending with ~
-b,--escape print octal escapes for nongraphic characters
--block-size <SIZE> use SIZE-byte blocks
-c with -lt: sort by, and show, ctime (time of last
modification of file status information) with
-l:show ctime and sort by name otherwise: sort
by ctime
-C list entries by columns
我想包括我的Bash脚本的开头此代码段和整个脚本重复使用它。
必须有这样的事情。 我不相信我们都编写代码来这种效果或类似:
#!/bin/bash
NUMBER_OF_REQUIRED_COMMAND_LINE_ARGUMENTS=3
number_of_supplied_command_line_arguments=$#
function show_command_usage() {
echo usage:
(...)
}
if (( number_of_supplied_command_line_arguments < NUMBER_OF_REQUIRED_COMMAND_LINE_ARGUMENTS )); then
show_command_usage
exit
fi
...