+ -
Сложение, вычитание
« »
Поразрядный сдвиг влево, поразрядный сдвиг вправо
Меньше либо равно, больше либо равно
< >
Меньше, больше
== !=
Проверка на равенство и неравенство (ассоциативность - слева направо)
Поразрядное И (AND)
Поразрядное исключающее ИЛИ (OR)
1
Поразрядное ИЛИ
&&
Логическое И
II
Логическое ИЛИ
=
Присваивание значения
+=-=
Присваивание после сложения/вычитания
Присваивание после умножения/деления/взятия остатка
&=Л=|=
Присваивание после выполнения операции поразрядного
<<= »=
Присваивание после выполнения операции поразрядного сдвига влево/
вправо
Примеры
Более подробная информация приведена в описании встроенной команды let.
let "counts" "1=1+1" Присвоить значения переменным i и count
let "num % 2" Проверка числа на четность
Журнал команд
bash позволяет отображать и редактировать ранее введенные команды. По механизму работы эта возможность сходна с журналом интерпретатора С shell. Команды из журнала можно изменять:
В режиме построчного редактирования
С помощью командыгс
Кроме того, подстановки команд, описанные в главе 8 csh
и tcsh», также действительны в bash.
Режим построчного редактирования
Режим построчного редактирования позволяет эмулировать многие возможности редакторов vi и Emacs. Список команд журнала хранится в файле. После запуска редактора можно с помощью команд перемещаться по строкам файла в поисках нужной строки. Клавиши управления курсором работают на большинстве терминалов как в режиме Emacs, так и в режиме vi. Перед применением найденной строки ее можно изменить. В табл. 7.23 приведены примеры распространенных команд редактирования строки. Для выполнения команды необходимо лишь нажать клавишу <Enter>.
По умолчанию в режиме построчного редактирования работают сочетания клавиш Emacs. Чтобы переключиться на vi-редактирование, введите команду:
$ set -о vi
Помните, что vi запускается в режиме вставки; для того чтобы ввести команду vi, необходимо сначала нажать клавишу <Esc>.
Режим, установленный для редактирования команд bash, никак не связан с выбором редактора, который автоматически запускается при выполнении многих команд (в частности, в почтовых клиентах при создании нового письма). Чтобы изменить стандартный редактор, необходимо установить переменную VISUAL или EDITOR в соответствующее значение (полный путь
редактора):
Таблица 7.23. Распространенные сочетания клавиш, используемые для редактирования
vi
Emacs
Действие
k
Ctrl-P
Получить предыдущую команду
J
Ctrl-N
Получить следующую команду
/string
Ctrl-R string
Получить предыдущую команду, которая содержит строку string
h
Ctrl-B
Переместить курсор на символ влево
vi
Emacs
Действие
1
Ctrl-F
Переместить курсор на символ вправо
b
Esc В
Переместить курсор на слово влево
w
Esc F
Переместить курсор на слово вправо
X
Del
Удалить предыдущий символ
x
Ctrl-D
Удалить один символ
dw
Esc D
Удалить слово после курсора
db
Esc H
Удалить слово перед курсором
xp
Ctrl-T
Поменять местами два символа
$ export EDITOR=emacs
Команда fc
Команда fc — 1 перечисляет команды из журнала, a fc -е позволяет их редактировать. Более подробное описание fc см. в разделе о встроенных командах.
Примеры
$ history $ fc -1 20 30 $ fc -1 -5 $ fc -1 cat
$ fc -In 5 > doit
$ fc -e vi 5 20 $ fc -e emacs $ ! ! $ Scat
$ ! cat f oo-f ile
Вывести список команд из журнала 1 Перечислить команды с 20 по 30 Перечислить пять последних команд
Начиная с последней команды из журнала, вывести список команд, начинающихся с cat2
Сохранить в файле doit все команды, начиная с пятой (без номеров команд) з
Редактировать с 5 по 20 команды с помощью vi
Редактировать предыдущую команду с помощью Emacs
Повторно выполнить последнюю команду
Повторно выполнить последнюю команду cat
Повторно выполнить последнюю команду cat, добавив файл
foo-file в конец списка аргументов
<< Назад В начало Далее >> |