Во-первых, вам нужно export
переменные среды, если вы хотите, чтобы они передавались в среде дочернего процесса, такого как awk
.
Во-вторых, вы можете использовать ENVIRON["name"]
, чтобы получить переменную окружения в awk
. Так что у меня работает следующее:
#!/bin/bash
export file=tau
export f=2.54
export order=even
awk '{sum+=$2}; END {print ENVIRON["file"] "_" ENVIRON["f"] "_" ENVIRON["order"] "_v1.xls", sum/NR}'