tftp обычно ограничивается каталогом /tftpboot, я не ожидал, что он будет работать, чтобы получить что-то из домашнего каталога пользователя.
Также проверьте права доступа к файлам. IIRC (это было некоторое время ), так как tftp не аутентифицированные файлы должны быть доступны для чтения всем.
Для этого вообще не нужно хранить данные в переменной, подойдет цикл по выходу discover
:
discover nginx --human=nood | cut -f 1,6 |
while read -r instanceID IPAddress; do
# Use "$instanceID" and "$IPAddress" here
done
В качестве альтернативы, в bash
или оболочке, которая понимает подстановки процессов(<(... )
):
while read -r instanceID IPAddress; do
# Use "$instanceID" and "$IPAddress" here
done < <( discover nginx --human=nood | cut -f 1,6 )
Разница между этими двумя видна только в том случае, если вы хотите перенести значения некоторой переменной из цикла . В первом примере цикл будет выполняться в подоболочке, и поэтому вы не будете использовать какие-либо значения переменных, которые установлены внутри цикла после цикла (они существуют в своей собственной локальной среде ).
Во втором примере никакие подоболочки не задействованы (, за исключением той, которая выполняет подстановку процесса с помощью discover
и cut
), поэтому значения переменных доступны после цикла.