Как запустить скрипт линукс

Как запустить скрипт линукс

Shell — это один из командных интерпретаторов, поставляемых вместе с ОС unix. Программа на языке Shell называется скриптом. Shell скрпитам указывают расширение *.sh и работают они в Unix системах. Если вам надо запустить shell скрипт в windows, то можно установить подсистему Linux Ubuntu или установить отдельно интерпретатор Shell для windows.

Как запустить sh скрипт из командной строки?

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

Чтобы его запустить, надо зайти в каталог, где расположен скрипт, набрать название интерпретатора sh и первым параметров указать ваш файл hello.sh.

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

  • Указать интерпретатор внутри файла.
    На первой строчке после #! прописывам путь к bash-интерпретатору, по-умолчанию это /bin/bash (посмотреть можно командой whereis bash). Содержмиое скрипта hello.sh получается таким:
  • Сделать наш файл исполняемым. Для этого используется команда chmod +x и имя файла скрипта:

Теперь можно запускать:

Перед названием скрипта надо ставить точку и слэш, сделано для усложнения работы вирусов. Точка означает "текущий каталог", а слэш "/" разделитель между именем каталога и именем скрипта.

Похожие записи

Первоначальная настройка Sublime Text

Отличные игры для знакомства с FlexBox и CssGrid

Привет мир и всё остальные! Если вас интересует современная веб-разработка, а вы еще не знакомы с технологиями flexbox и cssgrid, то у меня есть для вас отличная новость.

Установка актуальной nodejs на ubuntu

В официальных репозиториях Ubuntu предлагется дореволюционная версия node.js. В этом руководстве рассказывется как установить актуальную Node.js на Ubuntu или в подсистему linux на Windows 10, что собственно говоря, одно и тоже.

Читайте также:  Еюнит что это такое

Полезные ссылки по вёрстке и фронтенду

Перечень ссылок, которые на мой взгляд достойны внимания.

Про дистанционное обучение

Выбрав IT профессию, вы выбираете путь бесконечного обучения. Список отличных ресурсов для онлайн обучения.

В данной статье пойдет речь о том, как запускать сценарии командной оболочки (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 скрипте, окно терминала закроется. В результате, мы не может просмотреть лог (историю) выполнения.

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

Запускаемость в линукс это атрибут, по этому ты можешь его установить или нет, и делается это через chmod
Второй вариан запустить сам интерпретатор и подать на него файл
Какой по вашему тут еще может быть третий вариант ?

если вы делаете это на компе руководителя то можно запускать команды по удаленке или просто по ssh

1. положить все скрипты в одну папку и сделать доя нее -R +x
2. положить все файлы начальника на файловую систему где для nix все файлы всегда +х (как вариант smb)

ps: решение без задачи

Нужно просто осознать, что в Linux не существует ассоциаций файлов по расширениям.
Расширение для Линукса — просто часть файла после последней точки, система никаких действий к этому не привязывает.

Читайте также:  After effects движение по траектории

Поэтому единственный способ делать .sh файлы исполняемыми — ставить на них флаг executable через
chmod +x file.sh

Другой вариант — запускать сам баш с передачей ему файла как аргумент (потому что бинарник bash-а уже с executable).
bash file.sh

whereis bash
bash: /usr/lib/bash /bin/bash /usr/share/bash /usr/share/man/man1/bash.1.xz /usr/share/info/bash.info.xz

./script.sh
bash: ./script.sh: Отказано в доступе

А код такой
#!/bin/bash
echo "Hello world"

Ссылка на основную публикацию
Как заблокировать картинки в яндексе
Приветствую! В некоторых ситуациях может потребоваться в используемом интернет браузере отключить отображение картинок и изображений. Каждый раз открывать настройки и...
Как выводить видео в sony vegas
Перед чтением данного документа настоятельно рекомендуется прочитать статью про Вегас (часть 1, часть 2) — в ней есть ответы на...
Как выглядят латинские символы на клавиатуре
Латинский алфавит был придуман в середине I тысячелетия до н. э. Довольно скоро эта письменность распространилась по всему миру и...
Как заблокировать ненужные звонки
Если так вышло, что вам на некоторое время хотелось бы не принимать или даже видеть входящие звонки, есть способ избавиться...
Adblock detector