Следующее сработало для меня.
#!/bin/bash
function float() {
bc << EOF
num = $1;
base = num / 1;
if (((num - base) * 10) > 1 )
base += 1;
print base;
EOF
echo ""
}
float 3.2
Начиная с разницы между ss
и nmap
. Для порта 53 причина в разнице между localhost
и другими 16 миллионами адресов, зарезервированных для локальной машины. 127.0.0.1
не то же самое, что 127.0.0.53
. ss
сообщает обо всех портах локальной машины, в то время как nmap
ограничивает себя адресом 127.0.0.1.
Что касается дополнительных отчетов из lsof
, то это поиск чего-то совсем другого. Ваши команды ss
и nmap
ищут сокеты в состоянии LISTEN
, то есть ожидают входящих соединений. Ваш lsof
ищет все сокеты, в частности это включает любые установленные соединения и соединения, которые были разорваны. Вы ищете вещи, где либо конец использует порт 80, либо , либо конец использует порт 443.
Суть в том, что эти 3 команды показывают разные вещи, потому что ваше мнение о том, что они показывают одну и ту же информацию, неверно. Это сравнение яблока с апельсином и бананом. 3 разные команды показывают разную информацию, потому что они показывают разную информацию.