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

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

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

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

echo "Hello World"

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

sh hello.sh

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

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

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

./hello.sh

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

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

Как заблокировать обновление пакета в Ubuntu?

Иногда необходимо запретить обновление какого-нибудь пакет из нестабильного репозитория. Для этого есть 2 решения: грубое - отключить репозитарий, элегантное - заморозить обновление отдельного пакета.

Команда, чтобы заблокировать обновление пакета:

sudo apt-mark hold имя_пакета

Команда, чтобы разблокировать обновление пакета:

sudo apt-mark unhold имя_пакета
18 октября 2017 г. в Linux

Ubuntu 18.04 Punto Switcher

Нормальной замены на Ubuntu нет, есть gxneur, но он кривой(( Пытался пользоваться несколько месяцев. В итоге удалил.

24 декабря 2018 г. в Linux