Что такое 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 скрипте, окно терминала закроется. В результате, мы не может просмотреть лог (историю) выполнения.
Чтобы решить эту проблему, переходим в "Параметры" терминала. В параметрах выбираем наш профиль и переходим на вкладку "Команда", в пункте "При выходе из команды" выбираем "Держать терминал открытым":
Вот и всё.