В моем скрипте bash есть следующее (вызывается другим скриптом, который передает ему переменные):
psql -qtAX -h "$1" -p "$2" -U "$3" -d "$4" -f "/script/test.sql"
Теперь я хочу изменить это на:
psql -qtAX -h "$1" -p "$2" -U "$3" -d "$4" -f "/script/test.sql" |
awk {print "$2"}'
Однако это не дает мне правильного вывода, поскольку переменная $ 2, используемая awk, по умолчанию имеет значение переменной $ 2 (которая в приведенном ниже примере составляет 5432), которая была передана в сценарий (вместо того, чтобы получать его из вывод по конвейеру).
psql -qtAX -h testhost -p 5432 -U user -f "/script/test.sql" |
awk {print "$2"}'
Как мне сделать так, чтобы вместо этого он получал значение $ 2 из конвейерного вывода?