Что именно представляет собой скрипт?

У меня возникли трудности с пониманием, что такое сценарий. Насколько я понимаю, это набор команд в оболочке. И в чем разница между сценарием bash и сценарием оболочки? Может кто-нибудь объяснить эту концепцию?

2 ответа

С http://en.wikipedia.org/wiki/Shell_script:

Сценарий оболочки - это компьютерная программа, предназначенная для запуска оболочкой [Unix], интерпретатором командной строки. Различные диалекты сценариев оболочки считаются языками сценариев.

Другими словами: сценарий bash является сценарием оболочки, но сценарий оболочки не обязательно является сценарием bash.

В отличие от приложения, скрипт обычно выполняется в виде последовательности команд от А до Я (хотя он может выполняться в цикле). Сценарий едва ли принимает какой-либо пользовательский ввод после его запуска и обычно написан для выполнения одной работы.

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

Существует множество языков сценариев, одним из которых является bash. Чтобы упомянуть некоторые, которые используются в Linux: python, bash, perl, awk, sed

Классическое различие между сценариями и программами заключается в том, что сценарии интерпретируются, в то время как программы компилируются и предоставляются в удобной для исполнения форме.

Сегодня определение размыто, так как вы можете скомпилировать сценарии, если вы действительно хотите (например, PHP скомпилирован Facebook), а современные языки программирования используют интерпретацию на более низких уровнях (например, Java с JVM, .NET и IL).

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

Другие вопросы по тегам