Это аппаратная проблема с клавиатурами Matrix. Продавцы помещают их в ноутбуки и продают большую часть клавиатуры с технологией Matrix, потому что они дешевле по сравнению с большинством механических клавиатур.
Если вы попытаетесь нажать три кнопки на клавиатуре, которые используют одни и те же строки данных, одна клавиша может быть скрыта. Википедия очень хорошо объясняет это: https://en.wikipedia.org / wiki / Rollover_ (key)
Если вам действительно нужно нажать эти три кнопки или больше, рекомендуется купить механическую клавиатуру. Некоторые из них подключаются к вашему компьютеру как «несколько» клавиатур. Можно нажать любую кнопку на клавиатуре, и она будет распознана.
Команда test
в bash
не может этого сделать. Для строк поддерживаются только проверки на равенство, отсутствие -равенства и лексикографическое упорядочение (, см. help test
вbash
).
Однако вы можете использовать
[[ "ssh://hg@bitbucket.org/teros/moodwire_demo" == ssh* ]]
echo "$?"
Эта форма сопоставления строк выполняется только в пределах [[... ]]
в bash
.
Без использования[[... ]]
:
expr "ssh://hg@bitbucket.org/teros/moodwire_demo" : '^ssh' >/dev/null
echo "$?"
При этом используется утилита expr
для сопоставления (базового)регулярного выражения^ssh
со строкой. Поскольку expr
не является встроенной утилитой -, это будет немного медленнее, чем использование ==
внутри [[... ]]
в bash
.