Вы можете изменить дизайн своего скрипта, чтобы использовать "$@"
; или вы можете проверить $#
и запустить свои команды соответственно.
Справочное руководство Bash гласит:
$@
Расширяется до позиционных параметров, начиная с единицы. Когда раскрытие происходит в двойных кавычках, каждый параметр раскрывается в отдельное слово. То есть "$@"
эквивалентно "$1" "$2" …
. […] Когда нет позиционных параметров, "$@"
и $@
расширяются до нуля (то есть они удаляются).
awk options "$@"
Если вам нужно использовать несколько параметров командной строки, которые не являются именами файлов, взгляните на встроенную функцию shift
.
$#
Расширяется до количества позиционных параметров в десятичном формате.
Используйте его с некоторыми условными выражениями, если вам нужно вызывать разные команды, в зависимости от этого числа.