Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Составные команды




Составные команды могут быть следующими:

(список)

— список выполняется в подоболочке. Присвоения переменных и встроенные команды,
оказывающие воздействие на окружение интерпретатора, не будут иметь силы после
завершения выполнения команды. Код завершения равен коду завершения списка.

{ список; }

— Список просто выполняется в текущей оболочке. Список должен прерываться сим­
волом завершения строки или точкой с запятой. Такая команда называется групповой.
Код завершения равен коду завершения списка.

((выражение))

Вычисляет значение арифметического выражения. Если значение выражения не равно нулю, то код завершения ноль, в противном случае код завершения равен единице.

Арифметические выражения Оболочка позволяет вычислять арифметические выра­жения. Вычисления производятся с длинными целыми, без проверки переполнения, деление на ноль приводит к ошибке. Ниже перечислены арифметические операторы в порядке убывания приоритета.

— + унарные плюс и минус
! ~ логическое и побитовое отрицание
** возведение в степень
* / % умножение, деление, остаток
+ - сложение, вычитание

 


< < > >

сдвиг битов <= >= < >

сравнение

==!= равенство, неравенство & побитовое И

побитовое исключающее ИЛИ | побитовое ИЛИ && логическое И

|| логическое ИЛИ exprl?expr2:ехргЗ

условное выражение = *= /= %= += -= < <= > >= &= * = |=

присвоение

8 качестве операндов могут использоваться переменные. До вычисления выражения производится раскрытие параметров. Значение параметра приводится к длинному це­лому. Константы начинающиеся с 0 интерпретируются как восьмеричные числа, начи­нающиеся с 0x или 0X как шестнадцатеричные. Иначе числа записываются в форме [base#]n, где base — число от 2 до 64 определяющее систему счисления, а n число в этой системе. Если base опущено, то число считается десятичным. Цифры больше

9 представляются латинскими буквами в нижнем регистре, верхнем регистре, _, @, в данном порядке. Если основание не превышает 36, то большие и маленькие буквы равнозначны.

[[выражение]]

Код завершения 0 или 1 зависит от значения условного выражения. Ноль если значение истина и единица в противном случае. Выражения могут объединяться следующими операторами, перечисленными в порядке убывания приоритета:

(выражение)

возвращает значение выражения.! выражение

истина если выражение ложь. выражение1 && выражение2

истина если оба выражения истина. выражение1 || выражение2

истина если хотя бы одно из выражений истина.

Условные выражения Условные выражения используются в составной команде [[ ]] и во встроенных командах test и [ ]. Выражения формируются из следующих примитивов:

-a file

Истина если файл существует -b file

Истина если файл существует и это файл блочно-ориентированного устройства -с file

Истина если файл существует и это файл байт-ориентированного устройства -d file

Истина если файл существует и это каталог -е file

Истина если файл существует -f file

Истина если файл существует и это регулярный файл

 


-g file

Истина если файл существует и у него установлен бит SGID -h file

Истина если файл существует и это символическая ссылка -k file

Истина если файл существует и у него установлен бит SUID -p file

Истина если файл существует и это именованный канал -r file

Истина если файл существует и он доступен для чтения -s file

Истина если файл существует и его размер больше нуля

-t fd Истина если файл с указанным дескриптором открыт и это терминал -u file

Истина если файл существует и у него установлен бит SUID -w file

Истина если файл существует и доступен для записи -x file

Истина если файл существует и этот файл выполняемый -O file

Истина если файл существует и его владелец — пользователь чей идентифи­катор равен эффективному идентификатору выполняемого процесса -G file

Истина если файл существует и принадлежит группе идентификатор которой

равен эффективному идентификатору группы выполняемого процесса -L file

Истина если файл существует и это символическая ссылка -S file

Истина если файл существует и это сокет -N file

Истина если файл существует и время изменения больше времени доступа file1 -nt file2

Истина если file1 новее file2 file1 -ot file2

Истина если file1 старее file2 -z string

Истина если длина строки ноль -n string

Истина если длина строки не ноль string1 == string2

Истина если строки равны string1!= string2

Истина если строки не равны string1 < string2

Истина если string1 при сортировке, с учетом текущей локали, окажется рань­ше string2 string1 > string2

Истина если string1 при сортировке окажется после string2 arg1 OP arg2

, где OP одна из следующих: -eq (равно), -ne (не равно), -lt (меньше чем), -le

(меньше либо равно), -gt (больше чем), -ge (больше либо равно). Истина в

случае выполнения соответствующего условия.





Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 564; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.