это не работает должным образом, здесь минимальный пример
alias print_args='printf "<%s>\n" "$@"'
print_args "hello" "world"
может напечатать
<hello>
<world>
, но только если текущие параметры оболочки не установлены (что иногда вернов интерактивной оболочке, но не всегда)
однако после set 1 2 3
, например,
set -- 1 2 3
print_args "hello" "world"
печатает
<1>
<2>
<3>
<hello>
<world>
позиционные параметры командной строки находятся рядом с текущими позиционными параметрами.
Принимая во внимание, что следующие (без "$@"
) правильно передали параметры командной строки
alias print_args='printf "<%s>\n"'
print_args "hello" "world"