Я запускаю 14.04 LTS со стандартной клавиатурой США. Моя проблема заключалась в том, что я полагался на установщика, чтобы выбрать для меня US-Intl, и это вызвало «мертвые ключи» и неправильное формирование «и» ключей (как и других, о которых я не знаю, я уверен) .
После множества разочарований и проб и ошибок я запустил предложение «sudo apt-get install console-common», и он исправил мою проблему, но только во время моего входа в систему.
Когда я
Он выполнялся только постоянно, когда я выполнил команду «sudo dpkg-reconfigure keyboard-configuration» и задал общую клавиатуру США.
". setxkbmap "не работает для меня.
Кажется, что (я не знаю) setxkbmap устарел в 14.04 LTS.
В основном это означает: «Если флаги оболочки не содержат нижний регистр i, тогда остановите здесь функцию / скрипт».
[[ ]]
обозначает условное выражение в bash
$-
означает флаги оболочки. Он будет содержать «i», если оболочка является интерактивной (т. Е. Вы можете вводить команды, а не выполнять скрипт)
!=
просто означает «не равно».
*i*
- шаблон подстановки, который соответствует любому, содержащему «i»
return
без каких-либо аргументов, просто означает прекратить выполнение текущей функции или скрипта.
&&
является логическим оператором И. Выражение справа, в данном случае return, будет оцениваться (исполняется) только в том случае, если выражение слева имеет значение true. Таким образом, во многих языках программирования a && b является сокращением для if a then b - это называется «оценка короткого замыкания», и это приводит к тому, что учителя программирования сходят с ума, когда вы его используете: D
Я бы предположил, что это похоже на то, что если bash не открыт в интерактивной оболочке, тогда ничего не делайте.
Я не знаю всей функции, но, вероятно, есть команды и флаги, установленные ниже этой строки, в случае, если вы открыли bash в TTY.