Специальные символы:
Чар. | Описание |
---|---|
| Пробел — это табуляция, новая строка, вертикальная табуляция, перевод страницы, возврат каретки или пробел. Bash использует пробелы, чтобы определить, где слова начинаются и заканчиваются. Первое слово является именем команды, а дополнительные слова становятся аргументами этой команды. |
$ | Расширение — вводит различные типы расширения :расширение параметра (, например. $var или ${var} ), подстановка команды (например.$(command) )или арифметическое расширение (, например.$((expression)) ). |
'' | Одинарные кавычки — защищают текст внутри них, чтобы он имел буквальное значение. В них, как правило, любая интерпретация Bash игнорируется :, пропускаются специальные символы и предотвращается разделение нескольких слов. |
"" | Двойные кавычки — защищают текст внутри них от разделения на несколько слов или аргументов, но допускают замену; значение большинства других специальных символов обычно предотвращается. |
\ | Escape — (обратная косая черта )предотвращает интерпретацию следующего символа как специального символа. Это работает вне кавычек, внутри двойных кавычек и обычно игнорируется в одинарных кавычках. |
# | Комментарий — символ # начинает комментарий, который продолжается до конца строки. Комментарии представляют собой пояснительные примечания и не обрабатываются оболочкой. |
= | Назначение --присвоить значение переменной (, например.logdir=/var/log/myprog ). Пробелы не допускаются по обе стороны от символа = . |
[[ ]] | Тест — оценка условного выражения, чтобы определить, является ли оно «истинным» или «ложным». Тесты используются в Bash для сравнения строк,проверить наличие файла и т. д. |
! | Отменить — используется для отмены или изменения состояния проверки или выхода. Например:! grep text file; exit $? . |
> , >> ,< | Перенаправление — перенаправление вывода или ввода команды в файл. |
| | Конвейер — отправить вывод одной команды на ввод другой команды. Это метод объединения команд в цепочку. Пример:echo "Hello beautiful." | grep -o beautiful . |
; | Разделитель команд — используется для разделения нескольких команд, находящихся в одной строке. |
{ } | Встроенная группа — команды внутри фигурных скобок обрабатываются как одна команда. Их удобно использовать, когда синтаксис Bash требует только одной команды, а функция не кажется оправданной. |
( ) | Группа подоболочек — аналогична предыдущей, но в ней команды выполняются в подоболочке (новом процессе ). Используется как песочница, если команда вызывает побочные эффекты (, такие как изменение переменных ), она не повлияет на текущую оболочку. |
(( )) | Арифметическое выражение — в арифметическом выражении такие символы, как +, -, *и /, являются математическими операторами, используемыми для вычислений. Их можно использовать для присвоения переменных, таких как (( a = 1 + 4 )) , а также для тестов, таких как if (( a < b )) . |
$(( )) | Арифметическое расширение — аналогично приведенному выше, но выражение заменяется результатом его арифметического вычисления. Пример:echo "The average is $(( (a+b)/2 ))" . |
* ,? | Подстановочные знаки --«подстановочные знаки», которые соответствуют частям имен файлов (, например.ls *.txt ). |
~ | Домашний каталог — тильда обозначает домашний каталог. Когда он один или за ним следует / , это означает домашний каталог текущего пользователя; иначе,имя пользователя должно быть указано (, например. ls ~/Documents; cp ~john/.bashrc . ). |
& | Фон --при использовании в конце команды запускайте команду в фоновом режиме (не дожидаясь ее завершения ). |
Устаревшие специальные символы (распознаются, но не рекомендуются):
Чар. | Описание |
---|---|
` ` | Подстановка команд -вместо этого используется $( ) . |
[ ] | Проверьте -псевдоним старой тестовой команды. Обычно используется в сценариях оболочки POSIX. Не имеет многих функций [[ ]] . |
$[ ] | Вместо арифметического выражения -используйте $(( )) . |