По умолчанию find выполняет поиск подкаталогов, поэтому вы направляетесь в правильном направлении.
Ваш if использует код возврата из find, чтобы решить, нашел ли он что-либо или нет, но это не то, что означает код возврата find. find возвращает true, если не было ошибок при поиске файлов.
Если вы хотите проверить, действительно ли файл find нашел файлы, проверьте, что оно что-то напечатало в stdout:
find_stdout=`find . -name "$fname"`
if [ "$find_stdout" != "" ]; then
# Found file(s) case
else
# Found nothing case
fi
Несколько месяцев назад некоторые из нас обнаружили, что сетевая карта (Ethernet) и Wi-Fi-карта не будут повторно подключаться, если ноутбук будет приостановлен на долгое время (+2 часа IIRC ). За 8 месяцев до этого приостановление и возобновление работали отлично.
Этот скрипт написан для iwlwifi`, который является общим именем драйвера Intel. Если у вас другое, измените это имя ниже:
#!/bin/sh
# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi which can be flakey after a long suspend.
# DATE: Apr 1, 2017. Modified August 30, 2017.
MYNAME=$0
exit
restart_wifi() {
/usr/bin/logger $MYNAME 'restart_wifi BEGIN'
/sbin/modprobe -v -r iwldvm # This removes iwlwifi too
/sbin/modprobe -v iwlwifi # This starts iwldvm too
# systemctl restart NetworkManager.service
/usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESSED)'
/usr/bin/logger $MYNAME 'restart_wifi END'
}
/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
hibernate|suspend|pre*)
;;
resume|thaw|post*)
restart_wifi;;
esac
ПРИМЕЧАНИЕ. Иногда требуется просто сброс сетевого менеджера. В этом случае не комментируйте строку выше, удалив #. Затем запишите две строки над ним, поставив # в начале этих двух строк.
Вам нужно будет создать этот скрипт, называемый iwlwifi-reset, с полномочиями sudo и сохранить его в каталог /lib/systemd/system-sleep. Затем отметьте его исполняемым файлом, используя:
chmod a+x /lib/systemd/system-sleep/iwlwifi-reset
Несколько месяцев назад некоторые из нас обнаружили, что сетевая карта (Ethernet) и Wi-Fi-карта не будут повторно подключаться, если ноутбук будет приостановлен на долгое время (+2 часа IIRC ). За 8 месяцев до этого приостановление и возобновление работали отлично.
Этот скрипт написан для iwlwifi`, который является общим именем драйвера Intel. Если у вас другое, измените это имя ниже:
#!/bin/sh
# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi which can be flakey after a long suspend.
# DATE: Apr 1, 2017. Modified August 30, 2017.
MYNAME=$0
exit
restart_wifi() {
/usr/bin/logger $MYNAME 'restart_wifi BEGIN'
/sbin/modprobe -v -r iwldvm # This removes iwlwifi too
/sbin/modprobe -v iwlwifi # This starts iwldvm too
# systemctl restart NetworkManager.service
/usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESSED)'
/usr/bin/logger $MYNAME 'restart_wifi END'
}
/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
hibernate|suspend|pre*)
;;
resume|thaw|post*)
restart_wifi;;
esac
ПРИМЕЧАНИЕ. Иногда требуется просто сброс сетевого менеджера. В этом случае не комментируйте строку выше, удалив #. Затем запишите две строки над ним, поставив # в начале этих двух строк.
Вам нужно будет создать этот скрипт, называемый iwlwifi-reset, с полномочиями sudo и сохранить его в каталог /lib/systemd/system-sleep. Затем отметьте его исполняемым файлом, используя:
chmod a+x /lib/systemd/system-sleep/iwlwifi-reset