Ну вот, с основами разобрались, и пора перейти к теме нашего урока: написанию скриптов Bash.
Рассказывая вам о возможностях оболочки, позволяющих использовать ее в качестве среды программирования, мы упомянем еще много других команд, которые, возможно, будут вам незнакомы. Чтобы не задерживаться на рассказах о каждой, мы советуем вам пользоваться командой man для получения подробной информации о каждой команде. Просто наберите man <имя команды>, и вы получите указания по использованию этой команды. Попробуйте набрать man. Этот простой подход man, чтобы узнать, как работает команда man.
В соответствии возможности с давней традицией руководств по программированию начнем с программы, которая отображает на экране слова “Hello World”. Наберите следующий текст в файл и сохраните его:
#!/bin/bash echo “Hello World”
После этого сделайте файл исполняемым: chmod +x <filename>
Затем запустите его из оболочки, набрав ./<filename>.
- и вы должны увидеть эти вошедшие в легенду слова в вашей оболочке.
Первая строка - так называемая «шапка». По ней операционная система определяет, с помощью какой программы нужно исполнять содержимое скрипта. В данном случае мы указали полный путь до программы Bash. Указываемый здесь путь должен быть абсолютным и иметь символы #! в начале.
Вторая строка - стандартная команда оболочки. В данном случае это команда echo, которая выводит на экран все » переданные ей аргументы. Здесь можно было поместить любую приглянувшуюся нам команду, и при запуске скрипта оболочка выполнила бы ее.
Это и придает скриптам огромную мощь. Можно воспользоваться всеми командами Bash, а также такими фантастическими функциями, как перенаправление и каналы, которые свяжут команды друг с другом; в скриптах есть и другие способы соединения команд - операторы условия, циклы for и функции.
Два последних пункта, которые следует отметить: во первых, файл нужно сделать исполняемым, иначе операционная система не позволит запустить его. Во вторых, имя файла нельзя просто указать, как имя обычной команды: перед ним нужно набрать ./. Точка - обозначение текущего каталога, а слэш - обычный разделитель файлов и каталогов; собственно говоря, слэш и точка - это абсолютный путь до файла в текущем каталоге (чтобы понять, почему его нужно указывать, загляните во врезку $PATH.)