Я делал кучу вещей, ускоряя подключение к Интернету, и теперь я вижу файл в своем домашнем каталоге под названием «wireless-info». Я не знаю, добавил ли его туда tlp или это была одна из экспериментальных вещей, которые я пробовал, но безопасно ли удалять? Вот как выглядит файл:
#!/бин/баш
#
# Авторское право (с) 2012
#
# Авторы: Дикий Человек, Критарик
# Помощники: chili555
#
# Этот сценарий собирает информацию, необходимую для устранения неполадок беспроводной сети.
# соединение и сохраняет их в текстовом файле, заворачивая в архив, если он
# превышает предельный размер в 19,5 КБ для вложений «.txt» на форумах Ubuntu.
#
################################################### #############################
#
# Эта программа является бесплатным программным обеспечением: вы можете распространять ее и/или модифицировать
# на условиях Стандартной общественной лицензии GNU, опубликованной
# Free Software Foundation, либо версию 3 Лицензии, либо
# (на ваш выбор) любая более поздняя версия.
#
# Эта программа распространяется в надежде, что она будет полезна,
# но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии
# КОММЕРЧЕСКАЯ ПРИГОДНОСТЬ или ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. См.
# Стандартная общественная лицензия GNU для более подробной информации.
#
# Вы должны были получить копию Стандартной общественной лицензии GNU
# вместе с этой программой. Если нет, см. <http://www.gnu.org/licenses/>.
#
SCRIPTDATE="2020-1-25 05:34 +0200"
FILEBASE="беспроводная информация"
OUTPUTDIR="$PWD"
OUTPUTDRFB="/tmp"
MODMATCHES="(воздух|ar5|at7|ath[^3]?|b43|bcma|brcm|carl|ipw|iwl|ndis|r(818|8192[eu]|871|92su)|8(188|189 |192|723|812)[acde][esu]|rt[23567]|rtl|ssb|wl|(cfg|mac)80211)"
LSMODMATCHES="(wmi|(dell|ideapad)[-_]ноутбук)"
IFACEMATCHES="(влан[0-9]|эт[0-9])"
DMESGMATCHES="(прошивка|[nN]сеть|sdio|SDIO)"
NMPROFMATCHES="\(\[connection\]\|id=\|type=\|permissions=\|autoconnect=\|\[802-11-wireless\]\|\[wifi\]\|ssid=\| bssid=\|mac-address\(-blacklist\)\?=\|mtu=\|\[802-1x\]\|[[:graph:]]*ca-certs\?=\|\[ipv [46]\]\|метод=\)"
DMESGEXCL="приложение|(cfg|mac)80211"
MODINFOINCL="имя файла|лицензия|описание|зависит|retpoline|intree|имя|vermagic|parm"
MODPROBEXCL="(alsa-base|черный список-(firewire|фреймбуфер|модем|oss|сторожевой таймер)|fglrx|nvidia|fbdev|bumblebee)"
PMUTILSEXCL="/etc/pm/(power.d/(95hdparm-apm|intel-audio-powersave|sata_alpm)|sleep.d/(10_grub-common|10_unattended-upgrades.*|novatel_3g.*))"
NETMGRNAMES=("NetworkManager" "Wicd" "ConnMan")
NETMGRPATHS=("/usr/sbin/NetworkManager" "/usr/sbin/wicd" "/usr/sbin/connmand")
DEC2BI=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1 })
DEC2HEX=($(printf "%02x" {0..255}))
экспорт ЯЗЫК = "en_US.UTF-8"
экспорт ЯЗЫК="en_US:en"
экспорт LC_ALL="en_US.UTF-8"
если [-т 0]; тогда
DIALOGAPP="терминал"
ДИАЛОГБРЕАК=" "
ТЕРМаут = "да"
Элиф [-x /usr/bin/zenity]; тогда
DIALOGAPP="зенити"
ДИАЛОГBREAK="\n"
Элиф [-x /usr/bin/kdialog]; тогда
DIALOGAPP="кдиалог"
ДИАЛОГBREAK="\n"
еще
выход 1
фи
если [-т 0]; тогда
СУДО="судо"
Элиф [-x /usr/bin/pkexec]; тогда
SUDO="pkexec"
Элиф [-x /usr/bin/gksudo]; тогда
СУДО="гксудо"
ГКСУДО="да"
Элиф [-x /usr/bin/kdesudo]; тогда
СУДО="кдесудо"
КДЕСУДО="да"
KDESUDOCMT=" требуются права администратора. Пожалуйста, введите свой пароль."
фи
диалог_информация () {
случай $DIALOGAPP в
Терминал)
printf "%b\n" "$1"
;;
зенити)
зенити --info --text="$1"
;;
кдиалог)
kdialog --msgbox "$1"
;;
эсак
}
диалог_ошибка () {
случай $DIALOGAPP в
Терминал)
printf "%b\n" "$1" >&2
;;
зенити)
зенити --error --text="$1"
;;
кдиалог)
kdialog --ошибка "$1"
;;
эсак
}
диалог_вопрос () {
случай $DIALOGAPP в
Терминал)
локальный ВХОД
read -r -p "$1 [Y/n]:" ВВОД
эхо "${INPUT,,}"
;;
зенити)
зенити --question --text="$1" || эхо "нет"
;;
кдиалог)
kdialog --yesno "$1" || эхо "нет"
;;
эсак
}
IP6-макинтош () {
для MAC в "$@"; делать
OCT1BI=${DEC2BI[0x${MAC:0:2}]}
ОКТ1БИ7=$((${ОКТ1БИ:6:1} - 1))
OCT1BIM="${OCT1BI:0:6}${OCT1BI7#-}${OCT1BI:7}"
IP6S+=${IP6S:+$'\n'}"${DEC2HEX[2#$OCT1BIM]}${MAC:3:2}:${MAC:6:2}ff:fe${MAC:9: 2}:${MAC:12:2}${MAC:15:2}"
сделано
sed 's/\(^\|:\)0\+\([[:alnum:]]\)/\1\2/g;s/^\([0:]\+\)/\ (::\|\1\)/' <<< "$IP6S"
}
выполнить 3>&1 4>&2
exec 1> "$OUTPUTDIR/$FILEBASE.txt" || {
dialog_error "${TERMOUT+\n}Не удается записать выходной файл в \"$OUTPUTDIR\",${DIALOGBREAK}пытается вместо этого в \"$OUTPUTDIRFB\".${TERMOUT+\n}"
OUTPUTDIR="$OUTPUTDIRFB"
exec 1> "$OUTPUTDIR/$FILEBASE.txt" || {
dialog_error "${TERMOUT+\n}Невозможно записать выходной файл в \"$OUTPUTDIR\", отмена.${TERMOUT+\n}"
выход 1
}
}
выполнить 2>&1
printf "\n########## информация о беспроводной сети START ##########\n\n"
REPORTDATE=$(дата +"%d %b %Y %H:%M %Z %z")
SCRIPTDATE=$(дата -u -d "$SCRIPTDATE" +"%d %b %Y %H:%M %Z %z")
LASTBOOTDT=$(последняя -FRn 1 перезагрузка | sed -n 's/.*системная загрузка[ ]\+\(.\+\) - .*/\1/p')
LASTBOOTDT=$(дата -d "$LASTBOOTDT" +"%d %b %Y %H:%M %Z %z")
printf "Отчет от: %s\n\n" "$REPORTDATE"
printf "Загружался последним: %s\n\n" "$LASTBOOTDT"
printf "Сценарий от: %s\n" "$SCRIPTDATE"
printf "\n##### выпуск ###########################\n\n"
lsb_release -idrc
printf "\n#####ядро ############################\n\n"
uname -srvmpio
эхо
sed 's/root=[^ ]*//;s/[ ]\+/, /g;s/^BOOT_IMAGE=[^ ]*/Параметры:/' /proc/cmdline
printf "\n##### рабочий стол ###########################\n\n"
если [-n "$DESKTOP_SESSION"]; тогда
РАБОЧИЙ СТОЛ="$DESKTOP_SESSION"
еще
DESKTOP=$(sed -n 's/^Session=\(.\+\)$/\1/p' "$HOME/.dmrc")
DESKDMRC="(из ~/.dmrc)"
фи
если [-n "$DESKTOP" ]; тогда
если [ -f "/usr/share/xsessions/$DESKTOP.desktop" ]; тогда
DESKTOP=$(sed -n 's/^Name=\(.\+\)$/\1/p' "/usr/share/xsessions/$DESKTOP.desktop")
фи
echo "${DESKTOP/Сеанс/${DESKDMRC}"
еще
printf "\nНе удалось определить.\n"
фи
printf "\n##### lspci #############################\n\n"
lspci-nnk | grep -iA 2 '^[^[:space:]].*net' | sed '/^--$/d; /^[^[:space:]]/ i\'
printf "\n##### lsusb #############################\n\n"
lsusb
printf "\n##### Информация о карте PCMCIA ###################\n\n"
если [-x /sbin/pccardctl]; тогда
информация о pccardctl
еще
echo "'pccardctl' не установлен (пакет \"pcmciautils\")."
фи
printf "\n##### rfkill ############################\n\n"
rfkill список всех
printf "\n##### безопасная загрузка ########################\n\n"
если [ -x /usr/bin/mokutil ]; тогда
мокутил --sb-состояние
еще
echo "'mokutil' не установлен (пакет \"mokutil\")."
фи
printf "\n##### lsmod #############################\n\n"
LSMOD=$(lsmod | egrep "(^|[[:punct:] ])($MODMATCHES|$LSMODMATCHES)[^[:punct:] ]*([[:punct:] ]|$)")
эхо "$LSMOD"
printf "\n##### интерфейсы ########################\n\n"
для IFACESFILE в $(найти /etc/network/interfaces{,.d} -type f 2> /dev/null | sort); делать
IFACESFLCNT=$(sed '/^#/d;s/^wpa-psk [[:graph:]]\+/wpa-psk <ключ WPA удален>/' $IFACESFILE)
если [-n "$IFACESFLCNT"]; тогда
printf "[%s]\n%s\n\n" "$IFACESFILE" "$IFACESFLCNT"
фи
сделано
printf "\n##### ifconfig ##########################\n\n"
если [-x /bin/ip]; тогда
IFCONFIG=$(показать IP-адрес)
Элиф [-x /sbin/ifconfig]; тогда
IFCONFIG=$(ifconfig -a)
еще
echo "'ip' не установлен (пакет \"iproute2\")."
фи
эхо "$IFCONFIG"
IFCONFIG=$(sed -n '1h; 1!H; ${g;s/\n /\ /g;p}' <<< "$IFCONFIG")
IFACESETH=($(sed -n 's#^[0-9]\+: \([^ :]\+\):.* ссылка/эфир.*#\1#p; s/^\([ ^ :]\+\):\?.* \(Link encap:Ethernet\|ether\).*/\1/p' <<< "$IFCONFIG"))
если ((${#IFACESETH[@]} > 0)); тогда
IFETHMATCHES=${IFACESETH[@]}
IFACEMATCHES="($IFACEMATCHES|(${IFETHMATCHES// /|}))"
фи
printf "\n##### iwconfig ###########################\n\n"
iwconfig
printf "\n##### маршрут #############################\n\n"
если [-x /bin/ip]; тогда
IP-маршрут показать
Элиф [-x /sbin/маршрут]; тогда
маршрут -n
еще
echo "'ip' не установлен (пакет \"iproute2\")."
фи
printf "\n##### resolv.conf #######################\n\n"
stat -c "[%a %U %N]" /etc/resolv.conf
grep -v '^#' /etc/resolv.conf
printf "\n##### сетевые менеджеры ###################\n\n"
printf "Установлено:\n\n"
для NETMGNRR в "${!NETMGRPATHS[@]}"; делать
если [ -f "${NETMGRPATHS[$NETMGRNR]}" ]; тогда
NETMGRINST+=("${NETMGRNAMES[$NETMGRNR]}")
фи
сделано
printf "\t%s\n" "${NETMGRINST[@]:-Ничего не найдено.}"
NETMGRMATCHES=${NETMGRPATHS[@]/#*\//|}
NETMGRMATCHES=${NETMGRMATCHES// |/|}
NETMGRMATCHES="(${NETMGRMATCHES#|})"
printf "\nВыполняется:\n\n"
пс-эф | egrep "( |/)$NETMGRMATCHES($| )" || printf "\tНичего не найдено.\n"
printf "\n##### Информация NetworkManager ################\n\n"
если [ -x /usr/bin/nm-tool ]; тогда
нм-инструмент
Элиф [-x /usr/bin/nmcli]; тогда
nmcli -f показать все устройства | sed '/^GENERAL.DEVICE:[ ]\+lo$/,/^$/d; /^AP\[[0-9]\+\]\./d'
эхо
nmcli -f SSID,BSSID,MODE,CHAN,FREQ,RATE,SIGNAL,BARS,SECURITY,ACTIVE,IN-USE device wifi list
еще
echo "NetworkManager не установлен (пакет \"сетевой менеджер\")."
фи
printf "\n##### NetworkManager.state ###############\n\n"
"$SUDO" cat -s /var/lib/NetworkManager/NetworkManager.state
printf "\n##### Конфигурация NetworkManager ##############\n\n"
для NMCONFFILE в $(find /{etc,usr/lib}/NetworkManager/{NetworkManager.conf,conf.d} -name "*.conf" 2> /dev/null | sort); делать
NMCONFCNT=$(egrep -v '^(#|$)' $NMCONFFILE)
если [-n "$NMCONFCNT"]; тогда
printf "[[%s]]\n%s\n\n" "$NMCONFFILE" "$NMCONFCNT"
фи
сделано
printf "\n##### профили NetworkManager ###########\n\n"
если [ -d /etc/NetworkManager/системные подключения]; тогда
если [-n "$SUDO" ]; тогда
ловушка "" 2 3
NMPROFILES=$(найти /etc/NetworkManager/system-connections -maxdepth 1 -type f -exec $SUDO${GKSUDO+ -D grep --}${KDESUDO+ -d --comment "<b>grep</b>$ KDESUDOCMT" --} grep -vH '^$' {} +) && SUDOSUCCESS="yes" || СУДОУСПЕХ = "нет"
ловушка 2 3
если [ "$SUDOSUCCESS" = "да" ]; тогда
ОРИГИФС="$IFS"
ЕСЛИ=$'\n'
для NMWLPRFFILE в $(sed -n 's/^\(.\+\):type=\(802-11-wireless\|wifi\).*$/\1/p' <<< "$NMPROFILES" ); делать
NMWLPRFFLPERMS=$(stat -c "%a %U" "$NMWLPRFFILE")
NMWLPROFILE=($(sed -n "s;^$NMWLPRFFILE:\($NMPROFMATCHES.*\)$;\1 |;p" <<< "$NMPROFILES"))
NMWLPROFSOUT+="[[$NMWLPRFFILE]] ($NMWLPRFFLPERMS)"$'\n'"${NMWLPROFILE[@]}"$'\n\n'
сделано
IFS="$ORIGIFS"
sed's# | \[#\n\[#g;s#\] |#\]#g;s/ |$//' <<< "$NMWLPROFSOUT" | sed '/^\[[^]]*\]$/d'
еще
printf "\nНе удалось получить права администратора.\n"
фи
еще
echo "Не найден способ получить права администратора."
фи
еще
echo "Профили NetworkManager не найдены."
фи
printf "\n##### Конфигурация сетевого плана #####################\n\n"
для NPLANFILE в $(find /{lib,etc,run}/netplan -name "*.yaml" 2> /dev/null | sort); делать
NPLANFLCNT=$(egrep -v '^(#|$)' $NPLANFILE)
если [-n "$NPLANFLCNT" ]; тогда
printf "[%s]\n%s\n\n" "$NPLANFILE" "$NPLANFLCNT"
фи
сделано
printf "\n##### iw reg get #########################\n\n"
если [-x /sbin/iw]; тогда
if IWREGGET=$(iw reg get 2>&1) && [ -f /etc/timezone]; тогда
РЕГИОН=$(cat /etc/часовой пояс)
printf "Регион: %s (на основе установленного часового пояса)\n\n" "$REGION"
фи
эхо "$IWREGGET"
еще
echo "'iw' не установлен (пакет \"iw\")."
фи
printf "\n##### каналы iwlist ####################\n\n"
если [-x /sbin/iwlist]; тогда
иулист чан
еще
echo "'iwlist' не установлен (пакет \"wireless-tools\")."
фи
printf "\n##### iwlist scan #######################\n\n"
если [-x /sbin/iwlist]; тогда
если [-n "$SUDO" ]; тогда
ловушка "" 2 3
IWLISTSCAN=$($SUDO${KDESUDO+ -d} сканирование iwlist) && SUDOSUCCESS="yes" || СУДОУСПЕХ = "нет"
ловушка 2 3
если [ "$SUDOSUCCESS" = "да" ]; тогда
если [[ $IWLISTSCAN = *Частота:* ]]; тогда
printf "Занятость канала:\n\n"
grep '^[ ]*Частота:' <<< "$IWLISTSCAN" | сортировать | уникальный -c | sed 's/^[ ]\+\([ ][0-9]\+\)[ ]\+/ \1 AP на /'
эхо
фи
grep -v '^[ ]*IE: неизвестно:' <<< "$IWLISTSCAN"
еще
printf "\nНе удалось получить права администратора.\n"
фи
еще
echo "Не найден способ получить права администратора."
фи
еще
echo "'iwlist' не установлен (пакет \"wireless-tools\")."
фи
printf "\n##### информация о модуле #######################\n\n"
MODULES=$(egrep -o "^$MODMATCHES[^ ]*" <<< "$LSMOD")
для МОДУЛЯ в $MODULES; делать
MODINFO=$(modinfo $MODULE | egrep -i "^$MODINFOINCL:")
printf "[%s]\n%s\n\n" "$MODULE" "$MODINFO"
сделано
printf "\n##### параметры модуля ##################\n\n"
для МОДУЛЯ в $MODULES; делать
если [ -d /sys/module/$MODULE/параметры]; тогда
MODPARAMS=$(grep -H '^[[:graph:]]' /sys/module/$MODULE/parameters/* | sed 's#^.*/##;s/:/: /')
printf "[%s]\n%s\n\n" "$MODULE" "$MODPARAMS"
фи
сделано
printf "\n##### /etc/modules ######################\n\n"
grep -v '^#' /etc/модули
printf "\n##### опции modprobe ###################\n\n"
для MODPROBEFILE в $(найти /etc/modprobe.{conf,d} -name "*.conf" -regextype posix-egrep -not -regex ".*$MODPROBEXCL.*" 2> /dev/null | sort); делать
MODPROBEOPTS=$(egrep -v '^(#|$)' $MODPROBEFILE)
если [-n "$MODPROBEOPTS"]; тогда
printf "[%s]\n%s\n\n" "$MODPROBEFILE" "$MODPROBEOPTS"
фи
сделано
printf "\n##### rc.local ##########################\n\n"
grep -v '^#' /etc/rc.local
printf "\n##### pm-utils ##########################\n\n"
для PMUTILSFILE в $(найти /etc/pm/*.d \( -type f -o -type l \) -regextype posix-egrep -not -regex "$PMUTILSEXCL" | sort); делать
PMUTFLCONT=$(egrep -v '^(#|$)' $PMUTILSFILE)
если [-n "$PMUTFLCONT" ]; тогда
PMUTFLPERMS=$(stat -c "%a %U" $PMUTILSFILE)
printf "[%s] (%s)\n%s\n\n" "$PMUTILSFILE" "$PMUTFLPERMS" "$PMUTFLCONT"
фи
сделано
printf "\n##### правила udev ########################\n\n"
для UDEVRLFILE в $(найти /etc/udev/rules.d -name "*net*.rules" | sort); делать
UDEVRULES=$(grep -B1 '^[^#]' $UDEVRLFILE | egrep -v '^(--)?$')
если [-n "$UDEVRULES" ]; тогда
printf "[%s]\n%s\n\n" "$UDEVRLFILE" "$UDEVRULES"
фи
сделано
printf "\n##### dmesg #############################\n\n"
"$SUDO" dmesg | хвост -n 100 | egrep "[[:punct:] ]($MODMATCHES|$IFACEMATCHES|$DMESGMATCHES)[^[:punct:] ]*[[:punct:] ]" | egrep -v "$DMESGEXCL" | уникальный -cf 2 | sed 's/^[ ]\+1[ ]\+//;s/^[ ]\+\([0-9]\+\)[ ]\+\(.\+\)$/\2 (повторяется \1 раз)/'
printf "\n########## информация о беспроводной сети END #############\n\n"
выполнить 2>&4 4>&-
выполнить 1>&3 3>&-
##### Маскировка MAC-адреса #####
РЕЗУЛЬТАТЫ=$(cat -s "$OUTPUTDIR/$FILEBASE.txt")$'\n'
ОРИГИФС="$IFS"
ЕСЛИ=$'\n'
IFACESIDS=($(sed -n "/\([[:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}/ {/\(00 :\)\{5\}00/!{s/^[0-9]\+: \([^ :]\+\):.*/'\1'/p; s/^\([ ^ :]\+\):\? .*/'\1'/p}}" <<< "$IFCONFIG"))
IFACESMACS=($(sed -n '/\(00:\)\{5\}00/! s#.*\(HWaddr\|ссылка/[^ ]\+\|эфир\) \(\([ [:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}\).*#\2#p' <<< "$IFCONFIG"))
IFACESIP6S=($(ip6-mac "${IFACESMACS[@]}"))
WLAPSIWLIDS=($(sed -n "/^[ ]*Cell [0-9]\+/,/^[ ]*ESSID:/ {/^[ ]*Cell [0-9]\+/h; / ^[ ]*ESSID:/ {H;g;s/^[ ]*Cell 0\?\([0-9]\+\).*ESSID:\"\(.*\)\"$/' \2' [AC\1]/p}}" <<< "$IWLISTSCAN"))
WLAPSIWLMACS=($(sed -n 's/^[ ]*Cell [0-9]\+.*Адрес: \([^ ]\+\)/\1/p' <<< "$IWLISTSCAN") )
WLAPSIWLIP6S=($(ip6-mac "${WLAPSIWLMACS[@]}"))
WLAPSNMRAW=$(sed -n '/^##### NetworkManager info #####/,/^#####/ {/^[ ]*Wireless Access Points/,/^$/ {/Wireless Точки доступа/d;s/^[ ]\+\*\?//;s/:[ ]\+/\t/;p}; /^SSID[ ]\+BSSID[ ]\+/,/^ $/ {/^SSID[ ]\{2,\}BSSID[ ]\{2,\}/d;s/[ ]\{2,\}/\t/;p}}' <<< "$ РЕЗУЛЬТАТЫ")
WLAPSNMIDS=($(awk -F '\t' '{print "'\''" $1 "'\''"}' <<< "$WLAPSNMRAW"))
WLAPSNMMACS=($(grep -o '\([[:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}' <<< "$WLAPSNMRAW "))
WLAPSNMIP6S=($(ip6-mac "${WLAPSNMMACS[@]}"))
IFS="$ORIGIFS"
для IFACENR в "${!IFACESMACS[@]}"; делать
MACMASKSED+="s;${IFACESMACS[$IFACENR]};<MAC ${IFACESIDS[$IFACENR]} [IF$(($IFACENR + 1))]>;I;"
MACMASKSED+=" /${IFACESIP6S[$IFACENR]}/ s;${IFACESIP6S[$IFACENR]/#\(::/\(};<IP6 ${IFACESIDS[$IFACENR]} [IF$(($ IFACENR + 1))]>;I;"
IFACEMACC=${IFACESMACS[$IFACENR]//:/}
если [[ ${IFACESIDS[$IFACENR],,} =~ ${IFACEMACC,,} ]]; тогда
MACMASKSED+="s;\(${IFACESIDS[$IFACENR]:1:3}\)$IFACEMACC;\1<IF от MAC [IF$(($IFACENR + 1))]>;Ig;"
фи
сделано
для WLAPIWLNR в "${!WLAPSIWLMACS[@]}"; делать
MACMASKSED+="s;${WLAPSIWLMACS[$WLAPIWLNR]};<MAC ${WLAPSIWLIDS[$WLAPIWLNR]}>;I;"
MACMASKSED+=" /${WLAPSIWLIP6S[$WLAPIWLNR]}/ s;${WLAPSIWLIP6S[$WLAPIWLNR]/#\(::/\(};<IP6 ${WLAPSIWLIDS[$WLAPIWLNR]}>;I;"
сделано
для WLAPNMNR в "${!WLAPSNMMACS[@]}"; делать
MACMASKSED+="s;${WLAPSNMMACS[$WLAPNMNR]};<MAC ${WLAPSNMIDS[$WLAPNMNR]} [AN$(($WLAPNMNR + 1))]>;I;"
MACMASKSED+=" /${WLAPSNMIP6S[$WLAPNMNR]}/ s;${WLAPSNMIP6S[$WLAPNMNR]/#\(::/\(};<IP6 ${WLAPSNMIDS[$WLAPNMNR]} [AN$(($ WLAPNMNR + 1))]>;I;"
сделано
sed "$MACMASKSED /\([[:alnum:]]\{2\}:\)\{6,\}/! s/\([[:alnum:]]\{2\}:\)\ {5\}[[:alnum:]]\{2\}/<MAC-адрес>/g" <<< "$RESULTS" > "$OUTPUTDIR/$FILEBASE.txt"
##### Конец #####
dialog_info "${TERMOUT+\n}Результаты сохранены в \"$OUTPUTDIR/$FILEBASE.txt\".${TERMOUT+\n}"
если (( $(stat -c %s "$OUTPUTDIR/$FILEBASE.txt") > 19968 )); тогда
tar -czf "$OUTPUTDIR/$FILEBASE.tar.gz" -C "$OUTPUTDIR" "$FILEBASE.txt" && \
dialog_info "Результаты также заархивированы в \"$OUTPUTDIR/$FILEBASE.tar.gz\",${DIALOGBREAK}, так как они превышают ограничение размера в 19,5 КБ для вложений \".txt\"${DIALOGBREAK}на форумах Ubuntu.$ {TERMOUT+\n}" || \
dialog_error "Результаты превышают ограничение размера 19,5 КБ для вложений \".txt\"${DIALOGBREAK}на форумах Ubuntu, но архив не может быть создан.${TERMOUT+\n}"
фи
если [ -x /usr/bin/pastebinit ] && ping -nc 3 -w 6 -i 0.2 paste.ubuntu.com > /dev/null 2>&1; тогда
PASTEBIN=$(dialog_question "Хотите также опубликовать их${DIALOGBREAK}в провайдере pastebinit по умолчанию?")
если [[ ! $PASTEBIN =~ ^no?$ ]]; тогда
PASTERRESULT=$(pastebinit -i "$OUTPUTDIR/$FILEBASE.txt" -f text 2>&1) && PASTESUCCESS="yes"
если [ "$ PASTESUCCESS" = "да" ]; тогда
dialog_info "${TERMOUT+\n}Вставка выполнена успешно:\n\n${PASTERESULT}${TERMOUT+\n}"
еще
если [-n "$PASTERRESULT"]; тогда
dialog_error "${TERMOUT+\n}Ошибка Pastebin, сообщение об ошибке:\n\n${PASTERESULT}${TERMOUT+\n}"
еще
dialog_error "${TERMOUT+\n}Ошибка Pastebin, сообщение об ошибке не выдается.${TERMOUT+\n}"
фи
фи
еще
эхо
фи
фи
РЕДАКТИРОВАТЬ: Я вижу, что вверху написано «Помощники: chili555», а @chili555 — пользователь AskUbuntu, который очень помог мне в ускорении моего сетевого подключения.
Безопасно ли удалять файл?