Как запустить sh файл в linux с терминала
Перейти к содержимому

Как запустить sh файл в linux с терминала

  • автор:

Как запустить sh файл в linux с терминала

What’s on this Page

.SH вариант №

Файл с расширением .sh представляет собой файл команд языка сценариев, который содержит компьютерную программу, запускаемую оболочкой Unix. Он может содержать ряд команд, которые выполняются последовательно для выполнения таких операций, как обработка файлов, выполнение программ и другие подобные задачи. Они выполняются из интерфейса командной строки пользователем или в пакетном режиме для одновременного выполнения нескольких операций. Файлы сценариев можно открывать в текстовых редакторах, таких как Notepad, Notepad++, Vim, Apple Terminal и других подобных приложениях в ОС Windows, MacOS и Linux.

Формат файла SH

Файлы SH записываются в виде обычного текста в соответствии с определенным синтаксисом. Эти файлы сценариев поддерживают:

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

Пример SH-файла

$ echo '#!/bin/sh' > my-script.sh $ echo 'echo Hello World' >> my-script.sh $ cat my-script.sh #!/bin/sh echo Hello World $ chmod 755 my-script.sh $ ./my-script.sh Hello World 

Как запустить файл SH?

Файлы SH обычно работают в Linux, даже в Windows вам необходимо подключиться к терминалу Linux с помощью программного обеспечения, такого как Putty, для запуска файлов sh. Ниже приведены шаги для запуска файла SH на терминале Linux.

  1. Откройте терминал Linux и перейдите в каталог, где находится файл SH.
  2. Используя команду chmod , установите разрешение на выполнение вашего скрипта (если оно еще не установлено).
  3. Запустите скрипт одним из следующих способов.
  4. ./имя_файла.sh
  5. sh имя_файла.sh
  6. bash имя-скрипта-здесь.sh

использованная литература

  • Bashscripting для начинающих
  • Шеллскрипт

See Also

  • M — файл исходного кода Matlab
  • MF — формат файла манифеста Java
  • КСПРОЖ
  • СЛН
  • Формат файла PDB — файл базы данных программы

Как запустить Bash-скрипт на Linux

В мире Linux выполнение Bash-скриптов – это мощный инструмент для автоматизации задач и управления системой. Умение запускать Bash-скрипты открывает дверь к бесчисленным возможностям: от создания простых командных файлов до развертывания сложных сценариев.

В этой статье мы рассмотрим инструкцию по тому, как запустить Bash-скрипт на Linux, независимо от вашего опыта в этой области.

Что такое Bash

Bash (Bourne-Again Shell) – это командный интерпретатор для Unix ОС и Unix-подобных систем. Он представляет собой командный интерфейс пользователя, который позволяет вам взаимодействовать с операционной системой, выполнять команды, управлять файлами и процессами, а также создавать и выполнять скрипты для автоматизации задач.

Некоторые ключевые аспекты Bash включают в себя:

  • Командный интерфейс. Bash предоставляет командную строку, в которой пользователь может вводить команды и получать ответы от операционной системы. Это основное средство взаимодействия с Linux.
  • Скрипты. Bash – это также язык сценариев. С ним вы можете создавать скрипты (их называют Bash-скриптами), которые содержат последовательность команд и инструкций для выполнения определенных задач. Скрипты Bash часто используются для автоматизации рутинных задач и настройки системы.
  • Переменные и операции. Bash поддерживает переменные, условные операторы, циклы и другие конструкции, что делает его мощным инструментом для написания сложных скриптов. Вы можете объявлять переменные, сравнивать значения, выполнять арифметические операции и многое другое.
  • Расширенная оболочка. Bash включает в себя расширенные функции, такие как автодополнение, история команд, а также возможность создания и использования пользовательских функций и сценариев.
  • Поддержка скриптов системных задач. Bash используется для написания скриптов системных задач, таких как резервное копирование данных, планирование задач, настройка сети, мониторинг системы и других.
  • Пользовательский опыт. Bash предоставляет множество утилит и возможностей для улучшения пользовательского опыта.

Bash – это один из наиболее распространенных и удобных командных интерпретаторов в Linux, а также является стандартной командной оболочкой в большинстве дистрибутивов.

Навык работы с Bash и написание Bash-скриптов являются важными для системных администраторов, разработчиков и любых пользователей Linux, которые хотят максимально эффективно использовать эту ОС.

Аренда выделенного сервера

Если вы сейчас находитесь в поиске сервера на Linux для своих проектов, то обратите внимание на услугу RU-CENTER – «Аренда выделенного сервера». Это самый надежный способ хранения данных на мощном выделенном сервере в московском дата-центре с круглосуточным обслуживанием и поддержкой.

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

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

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

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

Скрипты Bash обычно выполняются в терминале или интерфейсе командной строки.

Запустить сценарий Bash можно следующими способами:

  • использовать bash или sh;
  • использовать путь к скрипту;
  • запустить непосредственно в среде bash.

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

Для этого включите приведенную ниже команду в начало файла:

Эта команда запустит скрипт под интерпретатором bash.

Способ 1. Выполнить скрипт Bash, используя sh

Это стандартный способ выполнения bash-скрипта. Как правило, чтобы он работал, требуется git bash, но в Linux он установлен по умолчанию.

  1. В терминале пропишите код с помощью утилиты bash:

В этом случае bash – это программа, которая содержит среды оболочки, необходимые для запуска сценария из оболочки bash. Таким образом, скрипт будет выполнен из интерпретатора bash.

  1. Вы также можете использовать sh для запуска bash-скрипта, поскольку он будет перенаправляться в оболочку по умолчанию.

Чтобы запустить Bash-скрипт с использованием sh, используйте следующий общий синтаксис:

Важно! sh известен как оболочка Bourne и был интерпретатором командной строки по умолчанию для старых систем. Хотя в современных Unix-подобных системах он уже не так популярен, они всё равно включают интерпретатор в /bin/sh.

Однако /bin/sh часто ссылается на другой интерпретатор. Чтобы проверить, какой интерпретатор использует sh, выполните следующую команду:

В выводе будет показана символическая ссылка для интерпретатора sh. Обычно Debian и Ubuntu связывают sh с dash, тогда как другие системы ссылаются на bash.

Пример вывода, который вы можете получить:

Способ 2. Запустить Bash скрипт из пути к скрипту

Этот метод довольно прост для запуска Bash-скрипта. Вам лишь нужно указать путь перед именем файла с расширением.

В качестве альтернативы можно прописать:

Параметр «путь» необязателен. С ним команда выполняет поиск по каталогам в переменной среды PATH. Однако, если файл не находится в PATH, команда ищет файл в текущем каталоге.

На практике это будет выглядеть примерно следующим образом:

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

Способ 3. Указать путь к скрипту и chmod

Это автономный метод запуска сценария bash. Нам нужно выполнить сценарий как исполняемый файл – мы можем запустить его где угодно, при условии, что где-то в среде есть оболочка bash.

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

Для этого в терминале запустите следующий код, заменив имя файла именем файла сценария bash:

chmod +x имя_файла.sh

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

Важно! Если вы не являетесь суперпользователем root, используйте sudo в самом начале команды.

Получив нужные права, пропишите:

Приведенная выше команда подразумевает, что вы находитесь в том же каталоге, что и сам Bash-скрипт.

Если вы находитесь не в том же пути, что и сценарий Bash, укажите относительный путь к файлу или сценарию Bash.

Способ 4. Выполнить скрипт Bash из любого места

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

  1. Вы можете добавить каталог, содержащий ваш скрипт, в переменную PATH. Это позволит вам выполнять скрипт из любого места, не указывая полный путь к нему:

Где «/полный/путь/к/каталогу/со/скриптом» замените на фактический путь к каталогу, содержащему ваш скрипт.

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

  1. Вместо добавления каталога в PATH вы также можете выполнить скрипт, указав его абсолютный путь. Например:

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

  1. Кроме того, вы можете редактировать переменную среды PATH в файле .bashrc и применять изменения с помощью команды source, чтобы обновить текущую среду Bash.

Для этого откройте файл .bashrc, чтобы отредактировать его:

Найдите строку, начинающуюся с «export PATH=», и добавьте путь к каталогу с вашими скриптами перед переменной PATH. Например:

Замените «/полный/путь/к/каталогу/со/скриптами» на фактический путь к каталогу с вашими скриптами.

Чтобы применить изменения в текущей среде Bash, выполните следующую команду:

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

Проверьте внесенные изменения с помощью команды:

Вы увидите добавленный путь к вашим скриптам в выводе переменной PATH.

Способ 5. Запустить Bash-скрипт из графического интерфейса

Последний способ выполнения Bash-скриптов – это использование графического интерфейса GNOME.

  1. Откройте каталог, в котором находится нужный файл.
  2. Щелкните по нему (но не открывайте).
  3. Найдите в правом верхнем углу значок с тремя линиями и кликните по нему. В выпадающем меню выберите Preferences.

  1. Теперь настройке обозреватель файлов так, чтобы он спрашивал, что делать с исполняемыми файлами. В разделе «Executable Text Files» поставьте флажок напротив Ask what to do.

  1. Закройте это окно и дважды щелкните по файлу скрипта, который хотите выполнить.

Вам предложат несколько вариантов действий:

  • «Run in Terminal» – запустить скрипт в терминале;
  • «Run» – запустить скрипт без него;
  • «Display» – просто просмотреть содержимое файла.

Нас интересует запуск скрипта в терминале, поэтому выберите эту опцию.

Готово! Ваш скрипт успешно выполнился.

Итак, благодаря этому руководству, мы научились запускать Bash-скрипты в Linux. Мы рассмотрели разнообразные способы выполнения скриптов, начиная от простых команд и заканчивая использованием графического интерфейса GNOME.

Как запустить sh скрипты в Linux?

Sanes

Miroslavux, так вам что нужно? Исполнять любые sh файлы тычком мыши, неважно, исполняемые они или нет, или делать их исполняемыми?
Вместо sh может быть любая другая команда — например, ваш собственный скрипт, выполняющий с файлом нужные вам действия.

Miroslavux @Miroslavux Автор вопроса
Adamos, Исполнять любые sh файлы тычком мыши, неважно, исполняемые они или нет

shambler81

Виктор Таран @shambler81 Куратор тега Linux

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

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

Adamos

Miroslavux, ну, так вам верно ответили — настроить открытие этих файлов в вашем DE программой sh.
Если DE не отличает sh-файлы от текстовых — сначала создать MIME-описание с уточнением маски *.sh.

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

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

Положите скрипты в папку с ntfs или fat32 там все файлы исполняемые 🙂
Saboteur @saboteur_kiev Куратор тега Linux
software engineer

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

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

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

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

astronaut808

astronaut808 @astronaut808
devops engineer

чтобы постоянно не указывать интерпретатор в терминале, можно сделать скрипт исполняемым.
1. указать в скрипте интепретатор — указать путь до bash-интерпретатора после #!
#!/bin/bash
по умолчанию он такой.
можно проверить whereis bash
2. выполнить команду, чтобы сделать исполняемым
chmod +x script.sh
3. после этого можно запускать его просто как ./script.sh

Ответ написан более трёх лет назад
Miroslavux @Miroslavux Автор вопроса

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»

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

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

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