Я думаю, вы могли бы удалить|&
(причину того, что вам не нужно передавать ни stdout, ни stderr в следующее условное выражение, во всяком случае, вы можете просто использовать ';' как разделитель команд ). Что-то вроде этого, вероятно, должно работать:
#!/bin/bash
mysqldump -u myuser -p mypasswd > mydb.dump
if [[ $? -eq 0 ]]; then
gzip mydb.dump
else
echo >&2 "DB backup failed"
exit 1
fi
Отредактируйте :, чтобы проверить успешность gzip, вы можете сделать что-то вроде этого:
mysqldump -u myuser -p mypasswd | gzip > mydb.dump.gz && echo "success" || echo "failure"
Однако это сообщит об успешном выполнении, даже если mysqldump
не удалось, т. е. если резервное копирование завершилось неудачно по большинству причин, кроме заполнения диска gzip.
У меня была такая же проблема, только доступ к левому верхнему углу второго монитора с помощью мыши, и я исправил ее с помощью --аргумента панорамирования.
У меня слева экран ноутбука (eDP -1, 3840x2160 ), а справа монитор (HDMI -2, 1600x900 ). Я масштабировал монитор справа, чтобы он соответствовал левому :3840/1600 = 2,4, 2160/900 = 2,4, поэтому масштабирование составляет 2,4x2,4. Первая часть аргумента панорамирования — это размеры экрана, +3840 — горизонтальное смещение второго экрана, а +0 — отсутствие вертикального смещения.
xrandr --output eDP-1 --auto --primary --output HDMI-2 --auto --scale 2.4x2.4 --right-of eDP-1 --panning 3840x2160+3840+0
В вашей ситуации сначала дважды проверьте значения масштабирования. После того, как я масштабировал свой второй монитор, чтобы он соответствовал экрану моего ноутбука, xrandr выводит одинаковые размеры для обоих экранов. Затем я бы попробовал что-то вроде
xrandr --output eDP1 --auto --primary --output HDMI1 --auto --scale 2.1x2.1 --right-of eDP1 --panning 2880x1620+2880+0
Также обратите внимание, что если бы я только что испортил аргумент панорамирования, иногда эта команда не сбрасывала бы панорамирование правильно. Чтобы исправить это, я просто отключил и снова подключил монитор, а затем выполнил команду.