Что такое сценарии оболочки? - PullRequest
4 голосов
/ 16 июля 2010

Что такое сценарий оболочки?

А что такое Bash, Korn и Expect?Я использую несколько команд в терминале Linux, это тоже сценарий оболочки?Опять меня смущает, что именно является сценарием оболочки?

Ответы [ 6 ]

10 голосов
/ 16 июля 2010

На вашем терминале работает оболочка , вероятно bash - korn, csh и другие - это похожие оболочки с различными функциями и синтаксисом

Хотя вы, вероятно, используете его в основном для запуска команд, большинство оболочек являются интерпретатором командного языка, определенного этой оболочкой. Программы на этом языке называются сценариями оболочки. См. this howto для обзора сценариев оболочки в bash.

6 голосов
/ 16 июля 2010

Сценарии оболочки - это процесс создания файла, содержащего несколько команд оболочки (т. Е. ls, cd, grep и т. Д.), Которые затем могут быть выполнены.

bash и korn являются оболочками- они позволяют вам взаимодействовать с компьютером через командную строку, а не запускать программы, щелкая значки.

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

Проверьте это из для получения дополнительной информации.

4 голосов
/ 16 июля 2010

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=define:+shell+script

Сценарии оболочки позволяют автоматизировать задачи, выполняемые из командной строки.

3 голосов
/ 16 июля 2010

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

Многие интерпретаторы сценариев оболочки работают как интерфейс командной строки, такие как различные оболочки Unix, Windows PowerShell или MS-DOS COMMAND.COM. Другие, такие как AppleScript или графический хост Windows Script Host (WScript.exe), добавляют возможности сценариев в вычислительные среды, не требуя интерфейса командной строки. Другие примеры языков программирования, в первую очередь предназначенные для сценариев оболочки, включают DCL и JCL.

3 голосов
/ 16 июля 2010

В дополнение к среде взаимодействия это оболочка (будь то оригинальная оболочка Борна (/bin/sh) или одна из многих альтернатив (ksh, csh, bash, zsh, tcsh, ...) с другим или расширенным синтаксисом ) обеспечивает язык программирования, например (циклы, условия, функции, переменные ...).

Сценарии оболочки более или менее написание программы в вашей любимой оболочке .

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

0 голосов
/ 30 апреля 2015

Оболочка позволяет вам создать один или несколько конвейеров процессов.

Одна из отличительных черт темы трубы и фильтры - это , объединяющая воедино инструменты - инструменты - фильтры - например, ls, egrep, paste, bc, wc ... Вы также можете создавать свои собственные фильтры / инструменты - и комбинировать их.

Оболочка определяет синтаксис для объединения фильтров, используя pipe . Это также дает вам возможность проверить состояние с помощью , если ключевое слово - и записать циклы. Вы можете написать функции тоже.

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

Например, рассмотрим конвейер
% seq 100 | paste -s -d '*'
1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 ... 98 * 99 * 100

Человек, который написал фильтр seq , не мог бы предположить, что seq используется, как описано выше. Программа seq сама по себе проста. Эта способность произвольно соединять seq с paste (или другим фильтрующим инструментом) - делает ее чрезвычайно мощной концепцией.

Например, рассмотрим конвейер
% seq 100 | paste -s -d '*' | bc
93326215443944152681699 ...
Он берет выражение (как указано выше) - и передает его в bc - еще один фильтр - bc оценивает выражение умножения.

Короче говоря, сценарий оболочки позволяет объединять / повторно использовать существующие инструменты - с механизмами управления потоком, такими как if, while ..., для создания очень мощных программ. в довольно короткое время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...