Так как тердон дал исчерпывающий ответ, я просто хочу добавить, что если какой-либо столбец оценен как ложный, то оператор for завершает цикл, как видно из этого примера:
$ echo 1 2 3 4 5 0 6|awk '{for(x=1;$x;++x)print $x}'
1
2
3
4
5
, Выключение сервера и затем включение его снова вынудили это обновить имя хоста.
А регулярная перезагрузка, вероятно, сделала бы это также в большинстве случаев.