Согласно Webupd8 вы необходимо отредактировать файл конфигурации /etc/pm/config.d/unload_modules
, добавив следующую строку:
SUSPEND_MODULES="$SUSPEND_MODULES "
В вашем случае используется модуль ядра iwlwifi
:
SUSPEND_MODULES="$SUSPEND_MODULES iwlwifi"
затем отредактируйте свой 10_resume_wifi
, как в следующем примере:
#!/bin/sh
case "${1}" in
resume|thaw)
nmcli r wifi off && nmcli r wifi on;
esac
Некоторые Unices, в первую очередь macOS (и до 2005 года FreeBSD), допускают это, а Linux — нет.
Противоположный вопрос: Строка Shebang с `#!/usr/bin/env command --argument` не работает в Linux
Вы не можете переносимо передать интерпретатору несколько аргументов. В частности, Linux не поддерживает его.
Некоторые варианты Unix поддерживают более одного аргумента в строке shebang. Это относится к современным системам FreeBSD, OSX/macOS и некоторым другим. См. страницу Sven Mascheck о переносимости оболочки для сравнительной таблицы вариантов Unix и большого количества исторической информации.
Если вы хотите иметь переносимый awk-скрипт, то простого решения не существует. #!/usr/bin/env
и #!/bin/sh
— единственные строки shebang, которые переносимы на практике: в зависимости от варианта Unix, awk
может находиться в /bin
или /usr/bin
или в некоторых других местах (например, /usr/xpg4/bin/awk
в Solaris, чтобы получить POSIX — тот, что в /usr/bin
для устаревших приложений). Поскольку #!/usr/bin/env awk -f
не работает переносимо, остается #!/bin/sh
. (/bin/sh
может быть устаревшей оболочкой Bourne, а не современной оболочкой POSIX, но на практике любая платформа Unix что-то там имеет.) Идея состоит в том, чтобы написать polyglot, т.е. сценарий, который sh
интерпретирует как инструкции по запуску awk и который awk интерпретирует как желаемый сценарий.Это работает даже в системах, которые не распознают строки shebang, но по умолчанию используют sh
для выполнения скрипта (некоторые старые unices или некоторые unix-подобные пользовательские области на ядрах, отличных от Unix).
#!/bin/sh
"exec" "awk" "-f" "$0" "$@" && 0 {}
… # awk script here
(Если вас беспокоит возможность переноса на старые unices, см. страницу Sven Mascheck о поддержке "$@"
и рассмотрите возможность использования ${1+"$@"}
вместо этого.)