почему тестовая команда запускается с ошибкой (выход с 1)?

Это аппаратная проблема с клавиатурами Matrix. Продавцы помещают их в ноутбуки и продают большую часть клавиатуры с технологией Matrix, потому что они дешевле по сравнению с большинством механических клавиатур.

Если вы попытаетесь нажать три кнопки на клавиатуре, которые используют одни и те же строки данных, одна клавиша может быть скрыта. Википедия очень хорошо объясняет это: https://en.wikipedia.org / wiki / Rollover_ (key)

Если вам действительно нужно нажать эти три кнопки или больше, рекомендуется купить механическую клавиатуру. Некоторые из них подключаются к вашему компьютеру как «несколько» клавиатур. Можно нажать любую кнопку на клавиатуре, и она будет распознана.

-1
10.05.2019, 22:40
1 ответ

Команда 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.

3
28.01.2020, 05:07

Теги

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