Меню Рубрики

Запуск сценария оболочки в linux ubuntu

Запуск сценария оболочки в linux ubuntu

В данной статье пойдет речь о том, как запускать сценарии командной оболочки (shell скрипты) в Ubuntu.

Что такое sh скрипт

Если кратко, sh скрипт — это файл, в котором описываются последовательно выполняемые команды.

Подробнее о сценарии командной оболочки можно прочесть в Wikipedia: Сценарий командной строки.

В такой файл мы можем вписать все команды, которые выполняем в терминале, то есть, которые исполняются командной оболочкой нашей системы.

Стоит упомянуть, что расширение .sh вовсе не обязательно, так как в Unix-подобных операционных системах нет требований к расширению имени файла, однако для скриптов командной оболочки выделено расширение .sh.

Как запускать sh скрипты в командной строке.

Запускать скрипты sh из командной строки легко.

1. Сделать файл скрипта исполняемым (если он еще таковым не является):

2. Запускаем скрипт, просто указав путь до него:

Если скрипт находится в текущей директории, то нужно указать ./ перед именем файла скрипта:

Иногда требуются права суперпользователя для запуска скрипта, тогда просто перед скриптом пишем команду sudo:

Можно запускать скрипты, непосредственно указывая интерпретатор: sh, bash и другие:

Но не советую так делать на постоянной основе.

Как запустить sh в файловом менеджере Ubuntu (Nautilus)

В файловом менеджере (Nautilus) Ubuntu sh скрипты запускаются двойным кликом по файлу:

Нужно убедиться, что в свойствах файла на вкладке «Права» установлена галочка «Выполнение» — «Разрешить выполнение файла как программы»:

Решаем проблему файлового менеджера Ubuntu при запуске скриптов sh

По умолчанию, после установки системы Ubuntu, если вы попытаетесь выполнить скрипт двойным кликом, то файл у вас откроется в текстовом редакторе:

Чтобы решить эту проблему, открываем «Параметры», переходим на вкладку «Поведение», в пункте «Исполняемые текстовые файлы» выбираем «Спросить что делать» или «Запустить»:

Разница их в том, что при выборе пункта «Спросить что делать», будет выбор в каком режиме запустить скрипт:

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

Как сделать так, чтобы терминал не закрывался после завершения sh скрипта в Ubuntu.

Когда мы запускам какой-либо скрипт из файлового менеджера, выбрав «Запустить в терминале»:

У нас откроется окно терминала. Но после выполнения всех команд, описанных в sh скрипте, окно терминала закроется. В результате, мы не может просмотреть лог (историю) выполнения.

Чтобы решить эту проблему, переходим в «Параметры» терминала. В параметрах выбираем наш профиль и переходим на вкладку «Команда», в пункте «При выходе из команды» выбираем «Держать терминал открытым»:

Источник

Запуск сценария оболочки UNIX

Доброго времени суток. Пользоваться Ubuntu (11.10) начал относительно недавно, поэтому полный чайник в этом. Прошу помощи.

Есть файл, сценарий оболочки UNIX. Если дважды кликнуть на него, он открывается в блокноте.Зашел в СвойстваПрава и в строке Выполнение пытался поставить галочку на «Разрешить исполнения файла как программы«. Она ставится, и через пол секунды пропадает. Т.е. во вкладке Права я не могу изменить абсолютно ничего, а запустить этот файл очень надо.Как быть?

1 ответ 1

Можно из командной строки

Либо зайти в проводник, затем Права -> Параметры -> Поведение и отметить опцию «Запускать исполняемые текстовые файлы при открытии». Если у вас есть права на изменение прав доступа к файлу, делаете так, как вы описали, затем клик по файлу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками unix ubuntu или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2020.9.18.37632

Источник

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

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

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

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

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

Теперь о том, как работают скрипты. Это обычные файлы, которые содержат текст. Но если для них установлен атрибут исполняемости, то для их открытия используется специальная программа — интерпретатор, например, оболочка 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 — это довольно простая задача, даже если вы еще плохо знакомы с терминалом. Существует действительно много скриптов и некоторые из них вам возможно придется выполнять. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Сценарии Shell

Содержание

Сценарии Shell

Один из простейших вариантов резервного копирования системы — использование shell сценария. Например, сценарий может быть использован для настройки какие каталоги требуют резервного копирования и для передачи этих каталогов в качестве аргументов утилите tar, которая создает архивные файлы. Архивный файл может быть затем перемещен или скопирован в другое место. Архив также может быть создан на удаленной файловой системе, такой как NFS.

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

Простой Shell сценарий

Следующий shell сценарий использует tar для создания архивного файла на удаленно смонтированной файловой системе. Имя архива определяется с помощью дополнительных утилит командной строки.

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

Выполнение сценария

Выполнение сценария из терминала

Простейший способ выполнить приведенный выше сценарий — это скопировать его содержимое в файл. Например, backup.sh. Затем ввести в терминале:

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

Выполнение с помощью cron

Утилита cron может быть использована для автоматизации выполнения сценария. Сервис cron позволяет выполнять сценарии или команды в определенное время.

cron настраивается через записи в файле crontab. Файлы crontab разделяются на поля:

m: минуты запуска команды, от 0 до 59.

h: час запуска команды, от 0 до 23.

dom: день месяца для выполнения команды.

mon: месяц даты выполнения команды.

dow: день недели для выполнения команды, от 0 до 7. Воскресенье может быть обозначено как 0 так и 7, оба значения допустимы.

command: выполняемая команда.

Для добавления или изменения записей в файле crontab используется команда crontab -e. Кроме того, содержимое файла crontab можно просмотреть с помощью команды crontab -l.

Для выполнения сценария backup.sh, приведенного выше с помощью cron, введите следующее в терминале:

Добавьте следующую запись в файл crontab:

Сценарий backup.sh будет теперь выполняться каждый день в полночь.

Для более глубокого изучения опций crontab смотрите секцию Ссылки.

Восстановление из архива

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

1. Чтобы посмотреть содержимое архива, наберите в терминале:

2. Чтобы восстановить файлы из архива в другой каталог введите:

Параметр -C команды tar перенаправляет извлекаемые файлы в указанный каталог. Приведенный пример извлечет файл /etc/hosts в /tmp/etc/hosts. tar создает заново структуру каталогов для извлекаемых файлов.

Также обратите внимание на отсутствие лидирующего «/» в пути извлекаемого файла.

3. Для восстановления всех файлов архива введите следующее:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Запуск скрипта в фоновом режиме linux
  • Запуск сервера wow linux
  • Запуск сервера css v34 на linux
  • Запуск программы через терминал linux mint
  • Запуск программы linux через консоль