Я ищу повторно используемый фрагмент кода, который выполняет проверку аргументов командной строки для bash.
В идеале что-то похожее на функциональность, предлагаемую интерфейсом командной строки Apache Commons:
Командная строка Commons поддерживает различные типы параметров:
и автоматически генерирует сообщение об использовании для программы, например:
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
...