Когда вы пишете var ="$1 $1 $1"
, вы позволяете bash
, а не awk
, расширять переменные.$1
случайно имеет значение как в awk
, так и в bash
.Итак, теперь вы заменяете строку на 3 вхождения первого аргумента, переданного вашему сценарию.Изменив его, например, var ="$1 $2 $3"
, вы будете использовать 3 первых параметра, переданных в ваш скрипт.Если, с другой стороны, ваша цель состоит в том, чтобы заменить строку значениями первого поля, как видно из awk
, используйте одинарную кавычку: var ='$1 $1 $1'
.Таким образом, bash
не расширит его, только awk
и, если вы измените его на var ='$1 $2 $3'
, вы замените строку первыми 3 полями исходного значения (как видно из awk
).