Является ли скрипт оболочки языком программирования

Это первый вопрос в UNIX:

Я был запущен сценарий оболочки за 2 дня до этого.

Но у меня конфликт: есть ли сценарий оболочки специальный язык программирования для конкретной оболочки?

Если вы знаете какую-либо команду, скажем, ls , вы вводите ее, а затем нажмите return, оболочка будет знать, где эта программа (ls), вызывать ее и показывать результат. Это использование оболочки «не-скрипт».

Но, если вы закажете пару таких команд в последовательности, скажем A, B, C, D, а затем поместите ее (последовательность) в исполняемый файл, у вас есть программа. Программа имеет имя и местоположение, поэтому на нее можно ссылаться и вызывать; он имеет код, поэтому он может быть выполнен, по одной команде за раз, процессором.

(Программа не скомпилирована – например, источник C был бы – и это делает его скриптом, но тем не менее это программа.)

То есть, в каком-то аспекте, уже на данный момент вы программируете, потому что вы инструктируете компьютер о том, что делать.

Кроме того, вы снова на базовом уровне также используете язык программирования, потому что вы не можете просто набрать что-либо (и ожидать, что он будет работать); в то же время, что бы вы ни вводили, вы получите активность с компьютера, которая точно соответствует тому, что вы написали.

Существуют правила, как вы должны говорить вещи, и есть правила, как компьютер будет реагировать на эти вещи.

Тем не менее, с «программированием», вы обычно ассоциируете несколько более выразительную силу, чем просто команды наложения друг на друга. По крайней мере, вам нужно разветвление ( if ... then ... else ), итерация (циклы: while , for и т. Д.) И, возможно, некоторые другие вещи. Но это нормально, поскольку языки сценариев имеют такие вещи и многое другое.

У оболочек разные языки, да, но некоторые из них могут частично перекрываться из-за соглашения (зачем менять хороший способ сказать что-то?) Или быть совместимыми с более ранними версиями (или некоторыми стандартами).

Bash – это scripting язык:

Из Википедии :

Язык сценариев или язык сценариев – это язык программирования, который поддерживает написание сценариев, программ, написанных для программной среды, которые автоматизируют выполнение задач, которые могут альтернативно выполняться одним человеком одним человеком. […]

Термин сценарий обычно зарезервирован для небольших программ (до нескольких тысяч строк кода).

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

«Языки программирования» обычно используются в сценариях, где код будет находиться в течение длительного времени. Если вы хотите быстро написать что-то, а затем никогда больше не использовать его, «языки сценариев» – это то, что вы хотите.

Здесь вы можете найти интересную статью.