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

Как сделать sh файл исполняемым

  • автор:

Как сделать sh файл исполняемым

Новые пользователи Linux часто задают вопросы: Как запустить исполняемый файл в Linux? Как выполнить файл. sh в Linux?

Bash – это оболочка, или интерпретатор командного языка, для операционной системы Linux. Это название является аббревиатурой от Bourne-Again SHell.

Как же запустить shell скрипт в Linux?

Откроем терминал. Обычно он вызывается комбинацией клавиш Ctrl+Shift+T. Используйте консольный текстовый редактор вроде vi/vim или nano чтобы создать shell скрипт в линукс:

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

$ chmod +x myscript.sh

Запустите shell скрипт, написал в терминале:

Теперь давайте рассмотрим другой пример создания sh скрипта в Linux.

Создадим новый файл скрипта test.sh:

Нажмем i или Insert на клавиатуре, чтобы перейти в режим вставки текста. Скопируем туда или напишем следующее:

!/bin/bash
echo «Hello, $USER»
echo «Today is $(date)»
echo «Bye»

Чтобы сохранить файл, нажмем ESC, затем напишем �� и нажмем ENTER.

Попробуем запустить скрипт:

bash: ./test.sh: Permission denied

Ошибка появилась потому что мы не сделали файл исполняемым. Сделаем это. Как и выше, чтобы сделать файл sh в линукс исполняемым, выполним команду:

Запустим его снова:

Мы пишем ./ потому что находимся в той же директории, где и расположен скрипт. Так же мы можем использовать полный путь для запуска из другого места. Например, если скрипт находится в директории /home/user/ то можно запустить так из любого места:

Что у нас есть в скрипте test.sh?

Первая строка #!/bin/bash указывает на интерпретатор, спомощью которого будет исполняться скрипт. В нашем случае это Bash.

Вторая строка использует глобальную переменную $USER, которая содержит имя текущего пользователя, от которого исполняется скрипт. Мы получим “Hello, user”, если нашего пользователя зовут user.

В третьей строке мы используем переменную, содержащую текущую дату и время – $(date).

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

Sanes

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

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

Adamos

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

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

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

Как запускать shell (*.sh) скрипты?

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 и имя файла скрипта:

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

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

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

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