GSettings / настройки DConf, не сохраненные постоянно

В нормальных оболочках стиля Границы, таких как Оболочка Bourne, тире, ksh и удар, синтаксис $variable означает, “принимают значение переменной, разделяют его на отдельные слова где символы от IFS появитесь, и рассматривайте каждое слово как подстановочный шаблон имени файла и разверните его, если оно соответствует одному из большего количества файла”. Если variable массив, это происходит с первым элементом массива, и другие элементы проигнорированы.

В zsh, синтаксисе $variable означает, “принимают, значение переменной, кроме удаляют его, если это пусто”. Если variable массив, это происходит со всеми элементами массива. Энтузиасты Zsh считают zsh путь выше.

В zsh можно записать $=variable выполнить разделение слова. Это не лучший способ сделать то, что Вы делаете, все же. Ваша функция удара не справляется с пробелом в именах файлов и использованием $=variable в zsh не был бы также. Вот другой способ проанализировать аргумент, который работает и в ударе и в zsh и справляется с любым символом кроме : в имени файла. Если аргумент содержит два двоеточия, то все после первого двоеточия удалено, и часть между первым двоеточием и вторым двоеточием добавляется как отдельный аргумент, которому предшествует a + знак. Это немного длиннее, чем Ваш код, но менее твердо понять, и это не дросселирует при первой подсказке пространства в имени файла.

vl () {
  local suffix
  case $1 in
    *:*:*) suffix=${1#*:};; set -- "${1%%:*}" "+${suffix%%:*}";;
  esac
  vim "$@"
}
3
16.02.2015, 13:24
1 ответ

Обходной путь для GNOME до версии 3.11 (, например. GNOME 3.8 в Ubuntu 14.04):

gsettings set org.gnome.settings-daemon.plugins.remote-display active false
gsettings set org.gnome.desktop.interface enable-animations false
1
27.01.2020, 21:31

Теги

Похожие вопросы