find
-name
предикат принимает подобные оболочке globbing шаблоны. Эти шаблоны привязываются на запусках и концах строк. Попробуйте это вместо этого:
find / -name '*.anki'
*
подстановочный знак. Это будет соответствовать нулю или большему количеству символов. Без него, find
будет искать названные файлы .anki
. Обязательно заключите в кавычки *
. Если Вы не сделаете, то оболочка развернет его.
Можно также использовать регулярные выражения с некоторыми вариантами находки.
find / -regex '.*\.anki'
Посмотрите find(1)
страница справочника для получения дополнительной информации.
Строка проверяет, больше ли второй позиционный параметр 0
. Если условие истинно, то он сдвигает позиционные параметры 3, 4, ... на 1, 2, ... Если условие ложно, он сдвигает позиционные параметры 2, 3, ... на 1, 2,. ..
Константы с нулем в начале интерпретируются как восьмеричные числа. При использовании 10 # $ 2
позиционный параметр $ 2
интерпретируется как десятичный. Вы также можете обратиться к Арифметика оболочки .
Таким образом, ((10 # $ 2> 0))
проверяет, больше ли второй позиционный параметр, представленный в базе 10, чем 0. 2> / dev / null
вызывает какие-либо ошибки, возникающие в результате этого теста, будут перенаправлены на / dev / null
. См. Арифметические выражения Bash для получения дополнительной информации об операторе #
.
&&
и ||
- условные конструкции. Таким образом, если условие истинно, то выполняется shift 2
, иначе выполняется shift
.
выражение1 && выражение2
Истина, если и выражение1, и выражение2 истинны.
выражение1 || выражение2
Истинно, если выражение1 или выражение2 истинно.
В качестве примера обратитесь к следующему:
$ ((10>42)) && echo greater || echo smaller # Condition is false so the `echo smaller` expression is evaluated
smaller
$ ((100>42)) && echo greater || echo smaller # Condition is true so the `echo greater` expression is evaluated
greater
((...))
((выражение))
Арифметическое выражение вычисляется в соответствии с правилами, описанными ниже (см. Арифметика оболочки). Если значение выражения не равно нулю, статус возврата - 0; в противном случае статус возврата равен 1. Это в точности эквивалентно
let "выражение"