Я ищу способ предоставить команде bash несколько аргументов только с помощью некоторого синтаксического сахара. Я уже знаю $@ и $*, но не знаю, как их правильно использовать. Было бы неплохо использовать следующий синтаксис:
define args
command &args
Дополнительный синтаксис может быть следующим:
define args_stream
command &args_stream arg_1
define args_stream1
define args_stream2
command &args_stream arg_1 &args_stream2
Это кажется плохой практикой, но я хочу уменьшить некоторые строки моих сценариев оболочки... :(
ОбновлениеПримеры: Поскольку вопрос настолько широк, что читатели не могли уловить его истинного смысла, привожу примеры:
функция printHeader
имеет 7 аргументов, но большинство из них можно параметризовать. Один из вариантов - установить для моей переменной какой-либо параметр по умолчанию. Однако мне пришлось бы упорядочить аргументы в необычной форме, для основных аргументов как наиболее правильных элементов. Другой формой является запись аргументов, как я упомянул: я хотел бы исправить эти аргументы, поток или массив, как я упомянул ниже:command $1 [$2.1 $2.2 $2.3] $3
git --help
, я получаю log ниже:
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
Аргументы в квадратных скобках необязательны, но могут быть обозначены двойным дефисом --
. Это вариант для моей нотации потока аргументов.