Я хотел бы узнать лучший способ использования позиционных параметров при использовании команды bash -c
.
Страницы руководства указывают для параметра -c
, что:
Если после команды command_string есть аргументы, они назначаются параметрам позиционирования, начиная с $0.
Итак, я предполагаю, что следующая форма верна:
$ bash -c 'printf "%s %s %s\n" $0 $1 $2' param1 param2 param3
param1 param2 param3
Однако Я увидел следующую форму, и мне интересно, почему было бы лучше
$ bash -c 'printf "%s %s %s\n" $1 $2' _ param1 param2
param1 param2
В этом случае символ _
заменяет $0
.
Я знаю, что для многих интерпретаторов $0
имеет особое значение (имя команды, все позиционные параметры...), но в этом случае страницы man вполне понятны.
Итак, есть ли что-то неправильное в первом виде и есть ли недостаток использования $0
в качестве первого позиционного параметра для команды bash -c
?