Краткое введение в программирование на Bash

Краткое введение в программирование на Bash

Предлагаем вам познакомиться со статьей Гарольда Родригеса (Harold Rodriguez) Краткое введение в программирование на Bash

«Данное введение в программирование на bash прельстило меня своей краткостью и содержательностью. В то же время я изменил несколько примеров, потому что они делали слегка не то, что ожидается новичками. Начинающим текст будет полезен как отправная точка для начала написания скриптов. Опытным — как справочник. Удачного чтения!» Антон Чернышов, переводчик.

Жанры: Самиздат, сетевая литература, Программирование
Серии: -
Всего страниц: 9
ISBN: -
Год издания: Не установлен
Формат: Полный

Краткое введение в программирование на Bash читать онлайн бесплатно

Шрифт
Интервал

Часть I

Тема программирования на bash из разряда тех, которые могут быть рассмотрены и в пару, и в сотни страниц. Гарольд Родригес (Harold Rodriguez) объясняет эту тему в приведенном ниже руководстве из двух частей. Его прекрасный и яркий стиль позволил ему охватить все существенные черты программирования на bash буквально на нескольких страницах.

Если вы никогда не программировали на bash ранее — сейчас самое время начать. Даже если у вас мало знаний о том, что такое bash, вы вполне можете посмотреть на множество интересных скриптов, разбираемых Гарольдом.

Введение

Подобно остальным оболочкам, доступным в Linux, Bourne Again shell (bash) является не только, собственно, командной оболочкой, но и языком для написания сценариев (скриптов)[1]. Скрипты позволяют в полной мере использовать возможности оболочки и автоматизировать множество задач, которые иначе потребуют для своего выполнения ввода множества команд. Многие программы, работающие внутри вашего компьютера с Linux — это скрипты. Если вы захотите узнать, как они работают, или изменить их, важно понимать их синтаксис и семантику. Кроме того, понимая язык bash, вы сможете писать свои собственные программы, чтобы выполнять разные задачи теми способами, которые выберете сами.

Так все-таки программирование (programming) или написание скриптов (scripting)? 

Новичков в программировании, как правило, озадачивает разница между, собственно, программированием и языками скриптов. Программы, написанные на каких-то языках программирования, обычно гораздо более мощные по возможностям и работают намного быстрее, чем программы, написанные на языках сценариев. Примеры языков программирования — C, C ++ и Java. Создание программы на каком-либо языке программирования обычно начинается с написания исходного кода (текстовый файл, содержащий инструкции о том, как будет работать окончательная программа), затем его необходимо скомпилировать (собрать) в исполняемый файл. Этот исполняемый файл не так легко переносить между различными операционными системами. Например, если вы напишете на программу на C для Linux, вы не сможете запустить ее в Windows. Чтобы сделать это, вам придется перекомпилировать исходный код под Windows. Написание скрипта также начинается с написания исходного кода, который не компилируется в исполняемый файл. Вместо этого интерпретатор оболочки последовательно читает инструкции в файле исходного кода и выполняет их. К сожалению, поскольку интерпретатор должен читать каждую инструкцию, скорость исполнения скрипта обычно медленнее[2], чем у скомпилированной программы. Основным преимуществом скриптов является то, что вы можете легко переносить исходный файл в любую операционную систему и просто запускать их[3].

Bash — это язык сценариев. Он отлично подходит для написания небольших программ, но если вы планируете делать какие-то мощные приложения, выбор для этого какого-либо языка программирования предпочтительнее для вас. Другие примеры скриптовых языков Perl, Lisp, и Tcl.

Что нужно знать для написания своих скриптов?

Для этого необходимо знание основных команд Linux. Например, вы должны знать, как копировать, перемещать и создавать новые файлы. Обязательно умение использовать какой-либо текстовый редактор. Существуют три основных текстовых редактора в Linux: vi, emacs и pico[4]. Если вы не знакомы с vi или emacs, используйте pico или другой простой в использовании текстовый редактор.

Внимание!!!

Не следует учиться программировать на bash из-под пользователя root! В противном случае — может случиться все что угодно! Я не буду нести никакой ответственности, если вы случайно допустите ошибку и испортите вашу систему. Вы предупреждены! Используйте учетную запись обычного пользователя без каких-либо привилегий. Вы можете даже создать нового пользователя только для обучения написанию сценариев. Таким образом, худшее, что произойдет в данном случае — это исчезновение данных в каталоге этого пользователя.

Ваша первая программа на Bash

Нашей первой программой будет классическая «Hello World». Конечно, если уже вы программировали раньше, вы должно быть устали от таких примеров. Однако это — традиция и кто я такой, чтобы менять ее? Программа «Hello World» просто выводит слова «Hello World» на экран. Запустите текстовый редактор и наберите в нем следующее:

>#!/bin/bash

>echo "Hello World"

Первая строка сообщает Linux использовать интерпретатор bash для запуска этого скрипта. В этом случае, bash находится в каталоге /bin. Если у вас bash находится где-то еще, сделайте соответствующие изменения в данной строке. Явное указание интерпретатора очень важно, удостоверьтесь еще раз, что указали его, поскольку данная строка говорит Linux какой именно интерпретатор нужно использовать для выполнения инструкций в скрипте. Следующее, что нужно сделать, это сохранить скрипт. Назовем егоhello.sh. После этого вам нужно сделать скрипт исполняемым:

>$ chmod u+x hello.sh

Если вы не понимаете, что делает эта команда, прочтите справочную страницу команды chmod:

>$ man chmod

Как только это будет сделано, вы сможете запустить программу, просто набрав ее название:


Рекомендуем почитать
Том 7. Натаска Ромки. Глаза земли

В седьмой том Собрания сочинений M. M. Пришвина вошли произведения, созданные писателем по материалам его дневников – «Натаска Ромки» (Из дневника охоты 1926–1927) и «Глаза земли».http://ruslit.traumlibrary.net.


Том 5. Лесная капель. Кладовая солнца

В пятый том вошли произведения тридцатых – начала пятидесятых годов: «Лесная капель», «Повесть нашего времени», «Кладовая солнца» и другие рассказы.http://ruslit.traumlibrary.net.


Приданое

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


Покровитель

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


Разлом во времени

Что делать совсем не ведьме, если арестовали ее любимого? Конечно же отправиться в столицу и проникнуть во дворец. А что делать совсем не ведьме, если за попыткой ее поймает не кто иная, как сама Принцесса? Конечно же улыбаться и говорить только правду. А если в шкафах королевской семьи окажется куда больше скелетов, чем кто-либо мог себе представить?


Разлом в пространстве

Что делать добропорядочной ведьме, если в родной деревне так скучно, что ничего не радует? Конечно же уговорить дядю отправить в академию магии. В образовательных целях разумеется. А что делать ведьме, если она умудрилась два раза упасть на одного и того же нахального мага? Конечно же держать себя в руках, когда она упадет на него третий раз. А то так недалеко и в первый же день в кабинет ректора попасть, и Разлом увидеть, и вообще нажить себе неприятностей. Только вот что же делать ведьме, если она и не ведьма вовсе, а некромаги всегда получают то, что хотят? Первая часть дилогии «Разлом».


Муза Федора

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


Моцарт и Сальери

ISBN 978-5-905236-22-8 Любите тайны в, казалось бы, зачитанных до дыр школьных книгах? Любите творчество А.С. Пушкина? Хотите увидеть то, что написал он, а не то, что вам показали? Читайте эту книгу.


Алиар: Мир без души

Предречённый спаситель мира мечтает лишь о спокойной жизни. Он бежит от своего предназначения, прячется по городам, становится обывателем. Он думает, и без него разберутся. Но постепенно понимает: с миром что-то не так. И уже не уверен, стоит ли мир существования.


Легенда о летящем змее

Очень многое может связать век 12 и век 21, если в ход событий вмешиваются магические силы. Сможет ли любовь преодолеть испытание не только временем, но и пространством? Кто выйдет победителем в схватке между чувствами и долгом? К чему приводит жажда безграничной власти? Герои рассказа любят, ищут, делают выбор, лукавят и боятся обмануться. И каждый из них, в конце концов, получит по заслугам.