Я получил ответ на этот вопрос на StackOverflow :https://stackoverflow.com/questions/52123576/bash-test-match-forward-slashes/52123622
ответ:
[ ]
— это единственная -квадратная скобкаtest(1)
команда , которая не обрабатывает шаблоны так, как это делает bash. Вместо этого используйте двойную -квадратную скобку условное выражение bash[[ ]]
. Пример:
$ current_branch='oleg/feature/1535693040'
$ [ "$current_branch" = '*/feature/*' ] && echo yes
$ [[ $current_branch = */feature/* ]] && echo yes
yes
Редактировать с помощью регулярных выражений:
$ [[ $current_branch =~ /feature/ ]] && echo yes
yes
Регулярное выражение может совпадать где угодно, поэтому вам не нужны начальный и конечный *
(, которые были бы .*
в регулярном выражении ).
ВНИМАНИЕ :косые черты здесь не являются разделителями для регулярного выражения, а являются литералами, которые должны сопоставляться где-то в строке. Например, [[ foo/bar =~ / ]]
возвращает значение true. Это отличается от нотации регулярных выражений во многих языках.
О, это было давно. Итак, проблема в моем адаптере Wireless Wi -Fi, использующем TP -Link TL -WN881ND, который несовместим. Таким образом, ядро продолжает печатать сообщение журнала. Так что причина в том, что корневой раздел заполнен.