Рассмотрите следующую альтернативу сценарию, над которым вы работаете:
mysql --silent --skip-column-names \
--user="$USER" --password="$PASSWORD" \
--host="$HOST" --database="$DBNAME" \
--execute="$QUERY1" |
awk '{ printf("%s ns +short\n", $1) }' |
if dig -f - | grep -q "XXX"; then
our=1
else
our=0
fi
Я предпочитаю использовать длинные параметры в сценариях, поскольку они самодокументируются.
Запрос в $ QUERY1
может быть создан таким образом, что awk
не требуется:
SELECT CONCAT(column, " ns +short") FROM ...
Я прочитал dig
его запросы из стандартного ввода из конвейера поступают из awk
, а grep
помогает нам найти XXX
в выводе.
Не требуется запутанного зацикливания.
Очевидно, что в конце он делает не то, что вы хотите, а только то, что вы делаете в данный момент, но, поскольку я не слишком много знаю о поиске DNS, я оставлю все как есть.
В большинстве последних версий Raspbian ssh и демон avahi установлены и настроены на запуск при загрузке. Пока вы находитесь в одной сети, вы можете использовать ssh pi@raspberrypi.local
для входа в pi. Таким же образом вы можете использовать scp
для передачи файлов, используя командную строку. Пример, на вашем компьютере,
scp /path/to/local/file pi@raspberrypi.local:/absolute/path/to/destination
.
Это копирует локальный файл на pi.
Если абсолютный путь не указан, то копируется в домашнюю папку. Это работает и в обратном направлении. Вы можете скопировать файлы на pi на свой компьютер, поменяв местами источник и пункт назначения.
Таким образом, вам не придется искать его IP-адрес.
(Имя пользователя и имя хоста являются значениями по умолчанию для pi и могут быть изменены).
Я почти уверен, что есть более простой способ. Может ли кто-нибудь помочь мне в этом разобраться?
Можете ли вы подключить оба устройства к вашей сети, а затем настроить ssh-сервер на пи? Таким образом, вы без проблем можете просто перенести файл на pi или от него. Лично я бы так и поступил.
Взгляните на это руководство , в нем должно быть все, что вам нужно для начала работы.