В функции параметры передаются функции, а не сценарию:
$ cat foo.sh
function main ()
{
echo "$@"
}
echo "$@"
main
$ bash foo.sh bar
bar
$
Вам нужно передать "$@"
наmain
:
main "$@"
Хотя я нахожу функцию main
в сценариях довольно бесполезной, если только вы не вызываете main
снова и снова в одном и том же сценарии.