Несмотря на него не абсолютно ясно, какой OP хочет протестировать: существует различие между попыткой соединения с несуществующим хостом/портом и тайм-аутом уже установленного соединения. Я пошел бы с Rob и ожидал бы, пока соединение не работает, и затем вытяните кабель. Или - для удобства - имеют виртуальную машину, работающую тестовым сервером (с соединенными мостом сетями) и просто деактивация виртуального сетевого интерфейса, как только соединение устанавливается.
Думаю, это то, что вам нужно:
#!/bin/bash
file=tau
f=2.54
order=even
awk "{sum+=\$2}; END {print \"${file}_${f}_${order}_v1.xls\", sum/NR}" \
${file}_${f}_${order}_v1.xls >> safe/P-state-summary.xls
Во-первых, вам нужно экспортировать
переменные среды, если вы хотите, чтобы они передавались в среду дочернего процесса, такого как 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}'
Не забывайте, что вы можете установить "переменные AWK" в командной строке
awk -v FOO=bar '...<AWK code that uses the AWK variable FOO>...'
Что ж, я использовал смесь вышеперечисленных решений и заставил ее работать с этим
printf "\n${file}_${f}_${order}_v1.xls " >> Safe/P-state-summary.xls
awk '{sum+=$3}; END {print sum/NR}' ${file}_${f}_${order}_v1.xls >> Safe/P-state-summary.xls