Что-то вроде:
#!/bin/sh
DATE=$(date +%Y-%m)
if grep "$DATE" file >/dev/null; then
echo yes
else
echo no
fi
, где file - имя вашего файла, должно работать. Он в основном использует grep для поиска значения $DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода grep указывают на это, см. [F6] «СОСТОЯНИЕ ВЫХОДА» для получения дополнительной информации ). Вы можете использовать if grep …; then exit 0; fi для выхода из скрипта, если текст найден, чтобы получить нужное поведение.
Всякий раз, когда я переношу свой ноутбук Lubuntu в режим сна, когда он отображается исключительно на моем телевизоре, и разбудил его после его отсоединения, я получаю черный экран, потому что назначено неправильное разрешение. Так же, как и вы, мне нужно установить разрешение с виртуального терминала TTY1, с которым я могу связаться с помощью Ctrl-Alt-F1, но xrandr, похоже, не работает. Я просмотрел страницы результатов поиска Google, прежде чем приступать к решению, поэтому решил, что буду делиться.
Главное, что xrandr, по-видимому, работает только на текущем экране. Таким образом, вам нужно связать команду сна перед командой xrandr, чтобы дать вам время, чтобы вернуться на X-сервер с Ctlr-alt-F7, чтобы команда была выполнена там. В противном случае вы получите ошибку, например xrandr: Configure crtc 0 failed.
Откройте виртуальный терминал с помощью Ctrl-Alt-F1 и войдите вЧтобы получить имена подключенных экранов (и если ваш X-сервер работающий на :0):
Откройте виртуальный терминал с помощью Ctrl-Alt-F1 и войдите в системуЧтобы изменить настройки дисплея:
$sleep 5; xrandr --output LVDS1 --auto -d :0Заменить LVDS1 на результат, который вы хотите изменить, и --auto любыми параметрами xrandr, которые вы хотите использовать.
$sleep 5; xrandr --output LVDS1 --auto -d :0 [!d9 ]Там должен быть лучший способ сделать это. Но это работает.
Исходный источник для решения: http://www.lgqyc.com/server-14-04-3-lts-display-orientation/
[d15 ] http://www.lgqyc.com/server-14-04-3-lts-display-orientation/ для возможного улучшения моего решения (не проверял себя).
Команда xrandr -s 0 должна сбросить ваши дисплеи в терминале. Подробнее можно найти на следующем сайте или из man xrandr в терминале.
https://linuxacademy.com/blog/linux/solution-resetting-your-screen-resolution-with-xrandr/ [ ! d1]
вы пробовали (sth like)
DISPLAY=:0 xrandr --output LVDS1 --auto
из другого tty (например, tty1),
, к которому вы можете получить доступ через Ctrl Alt F1, и переключиться обратно на (стандартный графический) tty7 с Ctrl Alt F7?
Одна вещь, о которой я еще не упоминал, но что может быть критическим: если бы вы использовали ноутбук Thinkpad, решение было бы простым: Fn + F7. Если вы используете ноутбук другого производителя, вероятно, будет какой-то другой ключ типа Fn, который будет переключаться через выходы дисплея / экрана (например, лучеры, внешний монитор, внутренний дисплей, зеркало, включение / выключение, и т. п.) вниз на уровне BIOS (я бы предположил - Edit: см. Как работают клавиши Fn?).
Таким образом, не нужно было ничего перезагружать в Linux , так сказать.