Часть полного текста документа:Программирование на языке 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, при этом добавит информацию о размере каждого файла в блоках. ............ |