Программирование на языке Shell в системе UNIX. Примеры программирования
1. ВВЕДЕНИЕ
Среди операционных систем особое место занимает Unix. Беспрецедентным является
то, что ОС Unix может работать практически на всех выпускаемых платформах. UNIX
- это стандарт де факто открытых и мобильных операционных систем. (поскольку
название UNIX запатентовано компанией AT&T - различные юниксы называются
различно: SCO UNIX, BSDI, Solaris, Linux, DG/UX, AIX и т.д.).
Это не только многозадачная, но и многопользовательская система. Она
обеспечивает современный пользовательский интерфейс на базе системы X Window и
межмашинную связь на базе протоколов TCP/IP и т.п.
ОС Unix была создана Кеном Томпсоном и Деннисом Ритчи в Bell Laborotories
(AT&T). Широко распространяться Unix/v7 (версия 7) начала в 79 - 80-м годах.
Вручение создателям Unix в 1983 году Международной премии А.Тьюринга в области
программирования ознаменовало признание этой системы мировой научной (computer
science) общественностью. Что также беспрецедентно.
ОС Unix стоит на трех китах: язык Си, файловая система, командный язык. В
дальнейшем к ним добавились система X Window и протоколы TCP/IP.
2. ПРОСТЕЙШИЕ СРЕДСТВА SHELL
Командный язык shell (в переводе - раковина, скорлупа) фактически есть язык
программирования очень высокого уровня. На этом языке пользователь осуществляет
управление компьютером. Обычно, после входа в систему вы начинаете
взаимодействовать с командной оболочкой. Признаком того, что оболочка (shell)
готова к приему команд служит выдаваемый ею на экран промптер. В простейшем
случае это один доллар ("$").
Shell не является необходимым и единственным командным языком (хотя именно он
стандартизован в рамках POSIX [POSIX 1003.2] - стандарта мобильных систем).
Например, немалой популярностью пользуется язык cshell, есть также kshell,
bashell и другие. Более того, каждый пользователь может создать свой командный
язык. Может одновременно на одном экземпляре операционной системы работать с
разными командными языками.
shell - это одна из многих команд UNIX. То есть в набор команд оболочки "shell"
входит команда "sh" - вызов интерпретатора "shell". Первый "shell" вызывается
автоматически при вашем входе в систему и выдает на экран промтер. После этого
вы можете вызывать на выполнение любые команды, в том числе и снова сам "shell",
который вам создаст новую оболочку внутри прежней.
Так например, если вы подготовите в редакторе файл "file_1":
echo Hello!
то это будет обычный текстовый файл, содержащий команду "echo", которая при
выполнении выдает все написанное правее ее на экран. Можно сделать файл "file_1"
выполняемым с помощью команды "chmod 755 file_1". Но его можно выполнить, вызвав
явно команду "sh" ("shell"):
sh file_1
или
sh < file1
Файл можно выполнить и в текущем экземпляре "shell". Для этого существует
специфическая команда "." (точка), т.е.
. file_1
Поскольку UNIX - система многопользовательская, вы можете даже на персональном
компьютере работать параллельно, скажем, на 12-ти экранах (переход с экрана на
экран ALT/функциональная клавиша), имея на каждом экране нового (или одного и
того же) пользователя со своей командной оболочкой. Можете и в графическом
режиме X-Window также открыть большое число окон, а в каждом окне может быть
свой пользователь со своей командной оболочкой...
Стержневым элементом языка shell является команда.
2.1. Структура команд
Команды в shell обычно имеют следующий формат:
<имя команды> <флаги> <аргумент(ы)>
Например:
ls -ls /usr/bin
Где ls - имя команды выдачи содержимого директория,
-ls - флаги ( "-" - признак флагов, l - длинный формат, s - об'ем файлов в
блоках),
/usr/bin - директорий, для которого выполняется команда.
Эта команда выдаст на экран в длинном формате содержимое директория /usr/bin,
при этом добавит информацию о размере каждого файла в блоках.
К сожалению, такая структура команды выдерживается далеко не всегда. Не всегда
перед флагами ставится минус, не всегда флаги идут одним словом. Есть
разнообразие и в представлении аргументов. К числу команд, имеющих экзотические
форматы, относятся и такие "ходовые" команды, как сс – вызов компилятора языка
С, tar – работа с архивами, dd – копирование файла с преобразованием, find –
поиск файлов и ряд других.
Как правило, первое слово shell воспринимает, как команду. Поэтому в командной
строке
cat cat
первое слово будет расшифровано shell, как команда (конкатенации), которая
выдаст на экран файл с именем "cat" (второе слово), находящийся в текущем
директории.
2.2. Группировка команд.
Средства группировки:
; и <перевод строки> - определяют последовательное выполнение ко
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.