Ваши тесты не работают так, как вы думаете.
if [ "$var" = "value" ] || [ "Value" ];
Это не делает двух тестов на равенство. Он проверяет первый случай, а затем, если это не удается, проверяет, существует ли «Значение»
, что он и делает, потому что это нужно для проверки. Таким образом, он всегда проходил через , затем
, соответствующий if
. Вы, вероятно, захотите:
if [ "$var" = value" ] || [ "$var" = "Value" ]
Еще лучше было бы изучить case..esac
block:
case "$var" in
value|Value)
do_stuff
;;
other|Other)
do_something_else
;;
esac
Я решил эту проблему, установив новое ядро Linux "4.5.2-040502-generic" следуя этим рекомендациям:
https://askubuntu.com/questions/761758/ubuntu-16-04-lts-cannot-suspend-fails-on-suspending
https://bugs.launchpad.net/ubuntu / + source / linux / + bug / 1574125 / comments / 26
Установите новое ядро (4.5.2):
cd /tmp
wget \
kernel.ubuntu.com/~kernel-ppa/mainline/v4.5.2-wily/linux-headers-4.5.2-040502_4.5.2-040502.201604200335_all.deb \
kernel.ubuntu.com/~kernel-ppa/mainline/v4.5.2-wily/linux-headers-4.5.2-040502-generic_4.5.2-040502.201604200335_amd64.deb \
kernel.ubuntu.com/~kernel-ppa/mainline/v4.5.2-wily/linux-image-4.5.2-040502-generic_4.5.2-040502.201604200335_amd64.deb
sudo dpkg -i linux-headers-4.5*.deb linux-image-4.5*.deb
Перезагрузите систему и попробуйте, работает ли приостановка.
Если что-то пойдет не так с новым ядром (4.5.2), перезагрузите компьютер и выберите Дополнительные параметры для Linux Mint 18 Cinnamon 64-bit в меню загрузки, затем выберите старое ядро (4.4.0-21).
Перейдите в диспетчер обновлений , нажмите view и установите последнюю версию ядра, в моем случае это 4.4.0-57