Панель Cinnamon (, которая содержит системный трей ), является неотъемлемой частью Cinnamon и поэтому не может быть отключена или остановлена. Единственный способ добиться скрытого эффекта — использовать автоматический режим скрытия -или установить высоту панели задач равной нулю пикселей. Однако это только скрывает панель, а не останавливает ее. К сожалению, это означает, что нет способа остановить панель Cinnamon.
Вероятно, вы захотите попробовать использовать другую среду рабочего стола или вообще не использовать ее.
Вы можете сделать это с помощью bash
встроенного -в сопоставлении строк. Обратите внимание, что здесь используются шаблоны glob (wildcard ), а не регулярные выражения.
if [[ $(cat /etc/redhat-release | awk '{print $7}') == 7.[56] ]]
Или, если мы устраним UUoC:
if [[ $(awk '{print $7}' /etc/redhat-release) == 7.[56] ]]
или...
if [[ $(cat /etc/redhat-release) == *" release 7."[56]" "* ]]
или даже (спасибо @kojiro )...
if [[ $(< /etc/redhat-release) == *" release 7."[56]" "* ]]
(Обратите внимание, что подстановочные знаки в начале и в конце необходимы для соответствия всей строке. Пробел в кавычках после числа нужен для того, чтобы оно случайно не совпало с «7,50».)
Или, если вы действительно хотите использовать регулярные выражения, используйте =~
и переключитесь на синтаксис RE:
if [[ $(< /etc/redhat-release) =~ " release 7."[56]" " ]]
(Обратите внимание, что часть в кавычках будет соответствовать буквально, поэтому .
не нужно экранировать или заключать в квадратные скобки (, пока вы не включите bash31
совместимость ). И совпадения RE по умолчанию не привязаны, поэтому вам не нужно ничего на концах, как в последнем.)
Гораздо проще просто проверить строку релиза напрямую
if grep -q 'release 7\.[56] ' /etc/redhat-release
then...
Команда grep
соответствует регулярному выражению. Атом [56]
соответствует 5
или 6
, позволяя шаблону соответствовать 7.5
или 7.6
. Поскольку .
соответствует любому символу , я экранировал его обратной косой чертой, чтобы он соответствовал буквальной точке. Пробел в конце гарантирует, что после совпадающей строки версии не будет других символов.
awk
может выполнять всю работу cat
и [[...]]
здесь:
if
</etc/redhat-release awk -v ret=1 '
$7 ~ /^7\.[56]$/ {ret=0}
END {exit(ret)}'
then
...
Или просто со стандартным sh
синтаксисом с простым сопоставлением шаблонов с подстановочными знаками:
case $(cat /etc/redhat-release) in
(*'release 7.'[56]' '*)...;;
(*)...;;
esac
Bash может извлекать поле 7 строки, используя read
, и эти файлы типа «/etc/*-release» в любом случае обычно состоят из одной строки. Рассмотрим
read _ _ _ _ _ _ ver _ < /etc/redhat-release
if [[ $ver = 7.[56] ]]; then
# match
fi