test
це вбудована оболонка, в якій (очевидно) тестується певна умова. Деякі старші снаряди потребують спеціальної команди. Тож ви також знайдете програму на /usr/bin/test
.
[
це також програма для перевірки на певний стан. Це програмне забезпечення також потребує закриття дужки, і ви можете знайти його за адресою /usr/bin/[
.
[[…]]
є альтернативою test
і [
. Він був розроблений для Korn shell ( ksh
). Але ви також знаходите його у версіях Bash більше 2 та у Z Shell. Подвійні дужки мають деякі чудові функції:
- Оболонка не розщеплює слова або розширює ім'я файлу.
- Вам не потрібно цитувати.
- Замість
-a
(AND) або -o
(OR) ви можете використовувати &&
або ||
.
=
Може зробити набагато більше.
((…))
еквівалентно let
. Так в основному ((expression))
те саме, що let "expression"
. Однак let
ви можете використовувати більше одного виразу, але подвійні дужки дозволяють лише одне вираження.
$((…))
(а також $[…]
) робить деякий розрахунок. Ви оболонка намагається обчислити вираз всередині дужок і замінює вираз результатом. Так echo $((1+1))
веде до echo 2
. Отже, ваші снаряди друкують число 2.
Кожен раз , коли ви хочете порівняти два числа , ви повинні використовувати опцію з тиром і дві буквою ( -ge
, і -lt
т.д.). Якщо ви хочете порівняти рядки, ви повинні використовувати =
або !=
.
На ваше питання щодо втечі досить важко відповісти. Тому що це залежить від програмного забезпечення, яке ви використовуєте крім оболонки. Так є grep
і grep -E
потрібна різна витікання. Це стосується і інших sed
, awk
і інших. Тож найкращий варіант - ознайомитись із сторінкою. Через деякий час ви звикаєте і знаєте, коли користуватися втечею.