while IFS=: read -r ip ports; do
savIFS=$IFS
IFS=,; set -f; set -- $ports; r=
while case $# in 0 ) break ;; esac; do
nc "$ip" "$1" 1>/dev/null 2>&1
r=${r:-$ip:}${r:+,($?)}$1
shift
done
echo "$r"
IFS=$savIFS
done < yourcsvfile
Теперь все порты, заключенные в ненулевое значение, закрыты, а (0) открыты.
Для каждого запроса OP создается сообщение о состоянии для каждого IP-адреса:
while IFS=: read -r ip ports; do
savIFS=$IFS
IFS=,; set -f; set -- $ports
for port
do
nc "$ip" "$port" 1>/dev/null 2>&1
case $? in
0 ) status="PASS" ;;
* ) status="FAIL" ;;
esac
echo "$ip:$port - $status"
done
IFS=$savIFS
done < yourcsvfile
Здесь есть несколько (не связанных) вопросов, в зависимости от определения по умолчанию ; и у каждого из них есть свои решения.
для запуска в Среда рабочего стола , браузер, который будет запускаться, обычно указывается в системе альтернатив Debian, как указано в вопросе (и уже установлен Chromium!).
Конечно, если пользователь создал ярлык для конкретного приложения вместо x-www-browser
, то альтернативы не будут использоваться, и ярлык необходимо изменить вручную в соответствии с DE
для открытие из определенных программ (например, MUA s), вложения будут открываться в соответствии с mailcap (5)
, см. эту страницу руководства, как переопределить, например, text / html
и т. д. (См. также /etc/mime.types
для сопоставления локальных расширений с типами MIME)
некоторые приложения будут использовать xdg-open (1)
для определения того, что открытые файлы.
другие приложения будут иметь свои собственные списки (например, в Firefox
у вас будет about: preferences # content
URL-адрес, чтобы указать, какой тип MIME открывать, в mc
у вас будет Меню / Команда / Редактировать файл расширения , чтобы определить, что происходит, когда вы нажимаете на .html
файл и т. Д.)
Для Chromium не является интернет-браузером по умолчанию
, отключите прерванную проверку в Меню / Настройки / Настройки / Браузер по умолчанию или просмотрите этот вопрос