Как создать shell файл linux

SliTaz Doc

Table of Contents

Разработка

SliTaz предоставляет некоторые средства разработки для веб-дизайна, редактирования скриптов и исходного кода. В этой статье содержится общая информация для разработчиков и желающих к ним приобщиться.

Скрипты командной строки

Написание скриптов командной строки (shell-скриптов) — самый простой способ начать программировать, т.к. они дают быстрые результаты и всё, что вам нужно уметь, перед тем как садиться писать такой скрипт — это открыть терминал и использовать текстовый редактор: Nano, Leafpad или Geany. Shell-скрипты в Linux способны на многое — загружать систему, делать резервные копии, осуществлять рутинные операции, выводить информацию о системе, создавать и изменять файлы и т.д. В таких скриптах можно использовать переменные, функции или вызовы для запуска того или иного файла. Скрипту можно давать любое удобное для вас имя, при этом широко используется расширение .sh.

Создание shell-скриптов

Перед тем как создавать shell-скрипт, необходимо выяснить, какой интерпретатор используется в системе. Большинство скриптов используют /bin/sh, поскольку он более портативен, но существуют также скрипты, опирающиеся на /bin/bash, поэтому он тоже должен быть установлен в системе. Чтобы скрипт можно было запустить, его нужно сделать исполняемым, изменив его права доступа в командной строке утилитой chmod. Чтобы создать скрипт script.sh и сделать его исполняемым, используйте команды

Получив исполняемый файл, можно приступать к его редактированию. Вы можете оставаться в терминале и использовать редактор Nano (для сохранения и выхода нажмите Ctrl+X) или Leafpad:

Ниже приведен скрипт, содержащий переменную NAME и выводящий ее значение командой echo:

После создания или редактирования скрипта его можно запустить для проверки:

Это было краткое введение в shell-скрипты. В Интернете очень много информации по этой теме, если она вас заинтересует.

Dialog

Приложение dialog может создавать консольные программы с графическим интерфейсом, как, например, инсталлятор SliTaz. Файлы настроек программы находятся в папках /etc/dialogrc и/или

/dialogrc для каждого пользователя. Вот простой пример использования dialog через командную строку:

Огромное количество примеров скриптов можно найти в папке /sample в исходниках dialog, которые можно скачать с invisible-island.net. Чтобы скачать и распаковать архив с исходниками, введите

Geany IDE

Geany относится к интерактивным средам разработки (Interactive Development Environment, IDE). Geany — простая и быстрая программа, она имеет подсветку синтаксиса, вкладки и функцию автозавершения. Geany использовался при создании большей части документации на этом сайте (и еще немного Nano).

Для установки Geany выполните команду

При первом запуске программы вы можете изменить ее настройки в меню ПравкаНастройки. Также Geany можно запустить из терминала командой

Perl (Microperl) — создание и использование Perl-скриптов

В SliTaz вы можете использовать мощный скриптовый язык Perl, запустив его как perl или microperl. Microperl — это модернизированная версия Perl, собранная из официальных исходников. Perl-скрипты, использующие Microperl, совместимы с полной версией Perl. Одна из сильных сторон Perl — его портативность: его можно использовать на любой системе и он является интерпретируемым языком, что означает отсутствие необходимости в компилировании кода и возможность его запуска напрямую. В SliTaz Perl и Microperl по умолчанию не входят в состав Live CD, поэтому вам понадобится либо перепаковать Live CD, либо установить Perl через менеджер пакетов. К сведению: Microperl имеет размер всего 1 Мб и не предоставляет модулей. Установку Perl (или Microperl) можно произвести командой

Читайте также:  Экран добро пожаловать windows 10 долго грузится

Скрипт «Hello World!»

Для примера можно создать простейший скрипт, выводящий надпись «Hello World!». Вначале создайте файл и сделайте его исполняемым, а затем отредактируйте в Geany. Скрипт в нашем примере имеет название hello.pl, но вы можете дать ему любое другое имя, как с расширением .pl, так и без.

Первая строка скрипта определяет путь к интерпретатору Perl, обычно это /usr/bin/perl. Для вывода на экран текста используется команда print. Нужно отметить, что Perl чувствителен к регистру и что каждая строка кода должна заканчиваться точкой с запятой. Вот сам код (вы можете его скопировать и вставить в редактор):

Чтобы выполнить скрипт, в командной строке наберите

CGI-скрипты и Perl

CGI-скрипты разработаны для отображения динамически изменяющихся веб-страниц. Язык Perl, ассоциированный с веб-сервером LightTPD, позволяет использовать CGI-скрипты в общем адресном пространстве или в виртуальных машинах. Perl вполне приспособлен к Web 2.0 и может генерировать страницы в формате xHTML. Перед тем как использовать CGI-скрипты в SliTaz, вам нужно установить Perl или Microperl и настроить сервер LightTPD. По умолчанию Shell-скрипты (расширение .sh) помещаются в папку /cgi-bin.

Когда сервер настроен должным образом, можно поместить скрипты в папку $HOME/Public/cgi-bin, задав им расширение .pl или .cgi, и просматривать их на локальном или удаленном компьютере. Пример использования скрипта Perl CGI:

Python

Язык программирования Python доступен в качестве пакета для установки. По окончании установки вы можете создавать скрипты и программы, а также использовать CGI-приложения вместе с веб-сервером LightTPD, не забывая при этом его правильно настраивать.

Для установки Python выполните команду

Язык программирования Ruby также доступен в виде установочного пакета. Ruby можно охарактеризовать как «динамический язык программирования с открытыми исходными кодами, цель которого — простота и продуктивность, имеющий элегантный синтаксис, легкий для чтения и написания программ» (цитата с официального сайта Ruby). Ruby управляет исключениями, поддерживает объектно-ориентированное программирование (ООП), автоматическое управление памятью и обладает очень хорошей портабельностью.

Чтобы установить Ruby, наберите

Toolchain — библиотеки, компилятор С и различные утилиты

Чтобы компилировать программное обеспечение из сторонних или ваших собственных исходников, вам понадобится по крайней мере минимальный набор утилит, куда войдут Binutils, Glibc, компилятор С, заголовочные файлы ядра Linux и утилита Make. Toolchain также используется разработчиками SliTaz для сборки системы из исходников. Для установки toolchain со всеми зависимостями введите

Текущая версия toolchain может без проблем компилировать простые программы в режиме командной строки, используя Ash из состава Busybox, но некоторые программы посложнее потребуют наличия Bash для компиляции. GNU Bash доступен в качестве пакета вместе с другими средствами разработки, например, Flex, M4, Bison или Pkg-config. Если вам нужно найти pkg-config, то используйте команду

Если вы хотите компилировать программы, использующие библиотеку Ncurses, потребуется установить пакет ncurses-dev. Этот пакет также имеет в своем составе несколько маленьких программ, к примеру, tic и tac.

Источник

Запуск скрипта sh в Linux

Вся сила Linux в использовании терминала. Это такая командная оболочка, где вы можете выполнять различные команды, которые будут быстро и эффективно выполнять различные действия. Ну впрочем, вы наверное это уже знаете. Для Linux было создано множество скриптов, которые выполняются в различных командных оболочках. Это очень удобно, вы просто объединяете несколько команд, которые выполняют определенное действие, а затем выполняете их одной командой или даже с помощью ярлыка.

Но у новичков может возникнуть вопрос — как запустить скрипт в Linux, что для этого нужно сделать, что будет происходить и какие команды нужно выполнить. Но сначала нужно рассмотреть как работают скрипты и что такое исполняемость.

Как работают скрипты

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

Читайте также:  Windows требует пароль пользователя

Теперь о том, как работают скрипты. Это обычные файлы, которые содержат текст. Но если для них установлен атрибут исполняемости, то для их открытия используется специальная программа — интерпретатор, например, оболочка bash. А уже интерпретатор читает последовательно строку за строкой и выполняет все команды, которые содержатся в файле. У нас есть несколько способов выполнить запуск скрипта linux. Мы можем запустить его как любую другую программу через терминал или же запустить оболочку и сообщить ей какой файл нужно выполнять. В этом случае не нужно даже флага исполняемости.

Запуск скрипта sh в Linux

Сначала рассмотрим пример небольшого sh скрипта:

#!/bin/bash
echo «Hello world»

Вторая строка — это действие, которое выполняет скрипт, но нас больше всего интересует первая — это оболочка, с помощью которого его нужно выполнить. Это может быть не только /bin/bash, но и /bin/sh, и даже /usr/bin/python или /usr/bin/php. Также часто встречается ситуация, что путь к исполняемому файлу оболочки получают с помощью утилиты env: /usr/bin/env php и так далее. Чтобы выполнить скрипт в указанной оболочке, нужно установить для него флаг исполняемости:

chmod ugo+x script.sh

Мы разрешаем выполнять запуск sh linux всем категориям пользователей — владельцу, группе файла и остальным. Следующий важный момент — это то место где находится скрипт, если вы просто наберете script.sh, то поиск будет выполнен только глобально, в каталогах, которые записаны в переменную PATH и даже если вы находитесь сейчас в той папке где находится скрипт, то он не будет найден. К нему нужно указывать полный путь, например, для той же текущей папки. Запуск скрипта sh в linux:

Или полный путь от корня:

Если вы не хотите писать полный путь к скрипту, это можно сделать, достаточно переместить скрипт в одну из папок, которые указаны в переменной PATH. Одна из них, которая предназначена для ручной установки программ — /usr/local/bin.

cp script.sh /usr/local/bin/script.sh

Теперь вы можете выполнить:

Это был первый способ вызвать скрипт, но есть еще один — мы можем запустить оболочку и сразу же передать ей скрипт, который нужно выполнить. Вы могли редко видеть такой способ с bash, но он довольно часто используется для скриптов php или python. Запустим так наш скрипт:

А если нам нужно запустить скрипт на php, то выполните:

Вот так все просто здесь работает. Так можно запустить скрипт как фоновый процесс, используйте символ &:

Даже запустить процесс linux не так сложно.

Выводы

Как видите, запуск скрипта sh в linux — это довольно простая задача, даже если вы еще плохо знакомы с терминалом. Существует действительно много скриптов и некоторые из них вам возможно придется выполнять. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Создайте и запустите свой первый скрипт Bash Shell

Главное меню » Linux » Команды Linux и команды Shell » Создайте и запустите свой первый скрипт Bash Shell

Если вам нужно сделать это более одного раза, автоматизируйте это!

Вы часто будете повторять одну и ту же задачу в Linux снова и снова. Это может быть простая резервная копия каталога, очистка временных файлов или даже клонирование базы данных.

Автоматизация задачи – один из многих полезных сценариев, в которых вы можете использовать возможности сценариев bash.

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

Создайте и запустите свой первый скрипт оболочки

Давайте сначала создадим новый каталог с именем scripts, который будет содержать все наши скрипты bash.

Читайте также:  Hamster free zip archiver hamster free zip archiver для windows

Теперь внутри этого «каталога скриптов» создайте новый файл с именем hello.sh с помощью команды cat:

Вставьте в него следующую строку, набрав ее в терминале:

Нажмите Ctrl + D, чтобы сохранить текст в файл и выйти из команды cat.

Вы также можете использовать текстовый редактор на основе терминала, такой как Vim, Emacs или Nano. Если вы используете настольный Linux, вы также можете использовать графический текстовый редактор, такой как Gedit, чтобы добавить текст в этот файл.

Итак, в основном вы используете команду echo для вывода «Hello World». Вы можете использовать эту команду непосредственно в терминале, но в этом тесте вы запустите эту команду через скрипт оболочки.

Теперь сделайте файл hello.sh исполняемым с помощью команды chmod следующим образом:

И наконец, запустите ваш первый скрипт оболочки, добавив hello.sh желаемую оболочку «bash»:

Вы увидите Hello, World!, напечатанные на экране. Возможно, это была самая легкая программа Hello World, которую вы когда-либо писали, верно?

Конвертируйте ваш скрипт в bash

Bash означает “Bourne-Again shell”, – это всего лишь одна из многих доступных оболочек в Linux.

Оболочка – это интерпретатор командной строки, который принимает и запускает команды. Если вы когда-либо запускали какую-либо команду Linux раньше, то вы использовали оболочку. Когда вы открываете терминал в Linux, вы уже используете оболочку по умолчанию вашей системы.

Bash часто является оболочкой по умолчанию в большинстве дистрибутивов Linux. Вот почему bash часто является синонимом оболочки.

Сценарии оболочки часто имеют почти одинаковые синтаксисы, но иногда они также различаются. Например, индекс массива начинается с 1 в Zsh вместо 0 в bash. Скрипт, написанный для оболочки Zsh , не будет работать так же в bash, если у него есть массивы.

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

Строка SheBang в начале сценария оболочки

Строка «#!/Bin/bash» называется строкой shebang, а в некоторых литературах она называется строкой hashbang, и это потому, что она начинается с двух символов хеша «#» и bang «!».

Когда вы добавляете строку «#!/Bin/bash» в самом верху вашего скрипта, система знает, что вы хотите использовать bash в качестве интерпретатора для вашего скрипта. Таким образом, вы можете запустить скрипт hello.sh прямо сейчас, не добавляя ему bash.

Добавление сценария оболочки в PATH (чтобы его можно было запустить из любого каталога)

Возможно, вы заметили, что мы использовали ./hello.sh для запуска скрипта; вы получите ошибку, если пропустите ведущий ./

Bash подумал, что вы пытаетесь запустить команду с именем hello.sh. Когда вы запускаете любую команду на вашем терминале; он ищет эту команду в наборе каталогов, которые хранятся в переменной PATH.

Вы можете использовать echo для просмотра содержимого этой переменной PATH:

Символ двоеточия (:) разделяет путь каждого из каталогов, которые сканирует ваша оболочка при каждом запуске команды.

Команды Linux, такие как echo, cat и т. д., можно запускать откуда угодно, потому что их исполняемые файлы хранятся в каталогах bin. Каталоги bin включены в PATH. Когда вы запускаете команду, ваша система проверяет PATH на все возможные места, которые она должна искать, чтобы найти исполняемый файл для этой команды.

Если вы хотите запустить свой bash-скрипт из любой точки мира, как если бы это была обычная команда Linux, добавьте местоположение вашего сценария оболочки в переменную PATH.

Во-первых, найдите местоположение каталога вашего скрипта (если вы находитесь в том же каталоге), используйте команду PWD:

Используйте команду export, чтобы добавить каталог скриптов в переменную PATH.

Момент истины здесь, запустите hello.sh:

Он работает! Это подводит нас к концу этой статьи. Мы надеемся, что теперь у вас есть некоторое представление о сценариях оболочки.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью