Что касается официальной ссылки на синтаксис, man bash и найдите раздел о перенаправлениях.
to check connectivity on some ports for thousands of nodes from a Solaris box, where netcat or nc is not available
Одним из способов использования функции сетевого перенаправления в bash было бы отправить какой-нибудь текст в порт этого хоста и посмотреть, успешно ли он прошел. Bash возвращает true/false в зависимости от возможности подключения к этому порту на этом хосте.
Пример кода, показывающий массив хостов, массив портов и попытки подключения к этим портам через TCP:
#!/bin/bash
hosts=(127.0.0.1 127.0.0.2 127.0.0.3)
ports=(22 23 25 80)
for host in "${hosts[@]}"
do
for port in "${ports[@]}"
do
if echo "Hi from Bharat's scanner at $(uname -n)" 2>/dev/null > /dev/tcp/"$host"/"$port"
then
echo success at "$host":"$port"
else
echo failure at "$host":"$port"
fi
done
done
Поскольку UDP не имеет состояния, код возврата из теста бесполезен для сканирования. Вам нужно будет использовать пример A.B , чтобы зафиксировать вывод и посмотреть, соответствует ли он вашим ожиданиям.
У меня был включен scanbd, который, в свою очередь, перехватывал scanimage. sudo systemctl stop scanbd
решил ее.