Какое расширение у файлов скриптов
Bash единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.
Ограничение всех shell скриптов до bash, дает нам согласованный shell язык, который установлен на всех наших машинах.
Единственное исключение составляет если вы ограничены условиями того под что вы программируете. Одним из примеров могут стать пакеты Solaris SVR4, для которых требуется использование обычного Bourne shell для любых скриптов.
Другие программы, связанные с расширением JS
-
Исполняемый файл JScript
JScript – это версия JavaScript от Microsoft. JScript основан на реализации стандарта ECMAScript. Синтаксис JScript во многом похож на язык JavaScript. Так же используется при создании вэб-страниц ASP. Относится к разделу Исполняемые файлы.
Популярность:
-
Скрипт JACOsub
Расширение .JS связано с JACOsub, редактором для Amiga, разработанный Alex Matulich. Относится к разделу Скрипты, файлы с кодом.
Популярность:
Развитие этого стандарта началась в ноябре 1996 года. Первое издание ECMA стандартна была принята Генеральной Ассамблеей ECMA в июне 1997 года.
ECMA Стандарт был представлен ISO/IEC JTC 1 для принятия в рамках ускоренной процедуры, и утвержден в качестве международного стандарта ISO/IEC 16262, в апреле 1998 года. ECMA Генеральная Ассамблея в июне 1998 года утвердил второе издание ECMA-262, чтобы держать в полном соответствии с ISO/IEC 16262. Изменения между первым и вторым изданием являются редакционный характер.
Настоящий документ определяет третье издание стандарта и включает в себя мощный механизм регулярных выражений, лучшая обработка строк, новые управляющие конструкции, try/catch обработка исключений, жесткое определение ошибок, форматирование для числового вывода и незначительные изменения в ожидании предстоящего средства интернационализации и будущий язык роста.
Работа над языком не закончена. Технический комитет работает на значительными улучшениями, в том числе механизмов для скриптов, которые будут созданы и используются в Интернете.
Очень часто используется в качестве основы для построения других скриптовых языков таких, как JavaScript, JScript и ActionScript.
Программы, которые поддерживают SCRIPT расширение файла
Следующий список содержит программы, сгруппированные по 3 операционным системам, которые поддерживают SCRIPT файлы. Файлы с суффиксом SCRIPT могут быть скопированы на любое мобильное устройство или системную платформу, но может быть невозможно открыть их должным образом в целевой системе.
Пайплайны
Пайплайны должны быть разделены каждый на одну строку, если они не помещаются на одной строке.
Если папйплайн помещается в одну строку, он должен быть на одной строке.
Если нет, его следует разделить, что бы каждая секция находился на новой строке и отступом на 2 пробела для следующей секции. Это относится к цепочке команд, объединенной с использованием '|' а также к логическим соединениям, использующим '||' и '&&'.
Назания исходных файлов
Нижний регистр, с подчеркиванием для разделения слов, если это необходимо.
Это касается соответствия другим стилям кода в Google: maketemplate или make_template , но не make-template .
Переменные только для чтения
Используйте readonly или declare -r , чтобы убедиться, что они только для чтения.
Поскольку глобальные широко используются в shell, важно уловить ошибки при работе с ними. Когда вы объявляете переменную, предназначенную только для чтения, сделайте это явным.
Расширение переменных
В порядке приоритета: соблюдайте то, что уже используется; заключайте переменные в кавычки; предпочитайте "$" больше, чем "$var" , но с оглядкой на контекст использования.
Это скорее рекомендации, поскольку тема достаточно противоречива для обязательного регулирования. Они перечислены в порядке приоритета.
- Используйте тот же стиль, что вы найдете в существующем коде.
- Помещайте переменные в кавычки, смотрите раздел Кавычки ниже.
Не помещайте в кавычки и фигурные скобки единичные символы специфичные для shell / позиционные параметры, если это строго не необходимо и во избежании глубокой путаницы.
Предпочитайте фигурные скобки для всех остальных переменных.
- Всегда используйте кавычки для значений, содержащие переменные, подстановки команд, пробелы или метасимволы оболочки, до тех пор пока не требуется безопасное расскрытие значений не в кавычках.
- Предпочитайте кавычки для значений которые являются "словами" (в отличие от параметров команд или имен путей)
- Никогда не помещайте в кавычки целые числа.
- Знайте как работают кавычки для шаблонов совпадений в [[ .
- Используйте "$@" , если у вас нет особых причин использовать $* .
Циклы
Помещайте ; do и ; then на тойже строке что и while , for или if .
Циклы в оболочке немного разные, но мы следуем тем же принципам как и с фигурными скобками при объявлении функций. То есть: ; then и ; do должны быть в той же строке, что и if / for / while . else должен быть в отдельной строке, а закрывающие операторы должны быть на собственной строке, вертикально выровненной с открывающей инструкцией.
TODO Комментарии
Используйте TODO комментарии для кода, который является временным, краткосрочным решением или довольно хорошим, но не идеальным.
Это соответствует соглашению в руководстве C++.
TODO коментарии должны включать слово TODO заглавными буквами, а затем ваше имя в круглых скобках. Двоеточие является необязательным. Предпочтительно также указывать номер бага/тикета рядом с элементом TODO.
Хотя вы должны следовать стилю, который уже используется в изменяемых вами файлах, для любого нового кода требуется следующее.
Комментарии к функциям
Любая функция, которая не является очевидной и короткой, должна быть прокомментирована. Любая функция в библиотеке должна быть прокомментирована независимо от ее длины или сложности.
Нужно сделать так, чтобы кто-нибудь другой понял как использовать вашу программу или как использовать функцию в вашей библиотеке, просто прочитав комментарии (и необходимости самосовершенствования), не читая код.
Все комментарии к функциям должны включать:
- Описание функции
- Используемые и измененные глобальные переменные
- Получаемые аргументы
- Возвращаемые значения, отличные от стандартных exit codes в последней команде.
Проверка возвращаемых значений
Всегда проверяйте возвращаемые значения и дайте информативные возвращаемые значения.
Для команд не использующих пайплайн используйте $? или провяйте непосредственно через оператор if , чтобы было проще.
Однако, так как PIPESTATUS будет перезаписан, сразу как только вы выполните какую-либо другую команду, если вам действительно нужно обработать все события где произошла ошибка в пайплайне, необходимо переназначить PIPESTATUS другой переменной сразу после запуска команды (не забывайте, что [ является командой и уничтожит PIPESTATUS ).
Как открыть файл VBS?
Отсутствие возможности открывать файлы с расширением VBS может иметь различное происхождение. К счастью, наиболее распространенные проблемы с файлами VBS могут быть решены без глубоких знаний в области ИТ, а главное, за считанные минуты. Ниже приведен список рекомендаций, которые помогут вам выявить и решить проблемы, связанные с файлами.
Шаг 1. Установите Microsoft Visual Studio программное обеспечение
Основная и наиболее частая причина, препятствующая открытию пользователями файлов VBS, заключается в том, что в системе пользователя не установлена программа, которая может обрабатывать файлы VBS. Этот легкий. Выберите Microsoft Visual Studio или одну из рекомендованных программ (например, Microsoft Windows, Adobe Dreamweaver, Microsoft WScript) и загрузите ее из соответствующего источника и установите в своей системе. В верхней части страницы находится список всех программ, сгруппированных по поддерживаемым операционным системам. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт Microsoft Visual Studio и загрузите установщик.
Шаг 2. Обновите Microsoft Visual Studio до последней версии
Если у вас уже установлен Microsoft Visual Studio в ваших системах и файлы VBS по-прежнему не открываются должным образом, проверьте, установлена ли у вас последняя версия программного обеспечения. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Если у вас установлена более старая версия Microsoft Visual Studio, она может не поддерживать формат VBS. Самая последняя версия Microsoft Visual Studio обратно совместима и может работать с форматами файлов, поддерживаемыми более старыми версиями программного обеспечения.
Шаг 3. Настройте приложение по умолчанию для открытия VBS файлов на Microsoft Visual Studio
Если у вас установлена последняя версия Microsoft Visual Studio и проблема сохраняется, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления VBS на вашем устройстве. Процесс связывания форматов файлов с приложением по умолчанию может отличаться в деталях в зависимости от платформы, но основная процедура очень похожа.
Изменить приложение по умолчанию в Windows
- Нажатие правой кнопки мыши на VBS откроет меню, из которого вы должны выбрать опцию Открыть с помощью
- Нажмите Выбрать другое приложение и затем выберите опцию Еще приложения
- Чтобы завершить процесс, выберите Найти другое приложение на этом. и с помощью проводника выберите папку Microsoft Visual Studio. Подтвердите, Всегда использовать это приложение для открытия VBS файлы и нажав кнопку OK .
Изменить приложение по умолчанию в Mac OS
Шаг 4. Проверьте VBS на наличие ошибок
Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл VBS действительным. Отсутствие доступа к файлу может быть связано с различными проблемами.
1. Убедитесь, что VBS не заражен компьютерным вирусом
Если файл заражен, вредоносная программа, находящаяся в файле VBS, препятствует попыткам открыть его. Сканируйте файл VBS и ваш компьютер на наличие вредоносных программ или вирусов. VBS файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.
2. Убедитесь, что структура файла VBS не повреждена
Если вы получили проблемный файл VBS от третьего лица, попросите его предоставить вам еще одну копию. Возможно, файл был ошибочно скопирован, а данные потеряли целостность, что исключает доступ к файлу. Если файл VBS был загружен из Интернета только частично, попробуйте загрузить его заново.
3. Проверьте, есть ли у пользователя, вошедшего в систему, права администратора.
Иногда для доступа к файлам пользователю необходимы права администратора. Войдите в систему, используя учетную запись администратора, и посмотрите, решит ли это проблему.
4. Убедитесь, что ваше устройство соответствует требованиям для возможности открытия Microsoft Visual Studio
5. Убедитесь, что у вас установлены последние версии драйверов, системных обновлений и исправлений
Последние версии программ и драйверов могут помочь вам решить проблемы с файлами VBScript Format и обеспечить безопасность вашего устройства и операционной системы. Возможно, файлы VBS работают правильно с обновленным программным обеспечением, которое устраняет некоторые системные ошибки.
Вы хотите помочь?
Если у Вас есть дополнительная информация о расширение файла VBS мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле VBS.
И то, и другое — интерпретаторы командной строки в линуксе. То есть если вы откроете командную строку и введете любую команду, да хоть:
То именно интерпретатор ее расшифрует и скажет компьютеру «он хочет перейти в директорию /home». Компьютер ведь не понимает команды на русском / английском языке. Ему нужны байтики. Этим и занимается интерпретатор — переводом с «нашего» на «компьютерный» язык.
Так что «cd /home» — это shell-команда! Или bash. Смотря какой интерпретатор установлен в вашей системе. В каждой операционной системе установлен интерпретатор по умолчанию. У них есть какие-то различия, но есть и набор базовых команд, которые понимают все: cd, mv, cp, ls… (в винде эти команды немного другие)
А что такое shell-скрипт тогда? Это просто текстовый документ, внутри которого написан набор команд! Это не обязательно должны быть «сложные» команды, которые делают что-то супер-навороченное. Это любые команды, которые вы выполняете в консоли.
Например, создадим скриптик, который создаст директорию и в ней файлик:
Так, команды записали, осталось сохранить их в файлик. Скрипты хранят в файлах с расширением .sh, поэтому назовем файл first_script.sh. Но есть нюанс — линуксу плевать на ваше расширение файла. Его может вообще не быть, и все равно скрипт останется скриптом. Почему? Потому что у любого скрипта в первой строке должен содержаться путь к интерпретатору. Например:
Весь файл целиком:
И даже если у такого файла не будет расширения вовсе, его можно будет запустить как скрипт:
Расширение .sh ставится для понимания человеком. Зашел в директорию:
— Ага, что тут у нас? Файлы sh, скрипты какие-то лежат.
Скрипты могут быть простые, а могут быть сложные. Вот, например, в одном проекте мы вначале вручную обновляли тестовые платформы. Для обновления надо:
Переподложить war-файл с приложением (лежат они в директории /opt)
Сервиса два, допустим это test и cloud. Так что шагов уже 6.
Когда обновлять вручную надоело, мы положили на все линукс машины простой скриптик:
Собираешь приложение, подкладываешь к скриптику и запускаешь 1 команду вместо 6. Удобно! Это называется «автоматизация рутины» =)
Другой пример с того же проекта — мы делали серверное приложение. И во время установки приложения на сервере linux нужно выполнить пункты по настройке самой системы. Например, увеличить параметр max_map_count — сколько максимум памяти может использовать процесс.
Приложение в пике работы требует много памяти. Если не настроить параметр, то «тяжеловесная» задача просто упадет с ошибкой «Не хватает памяти». И если мы видим такую ошибку, то в первую очередь идем проверять настройки системы.
Вообще, если вы отдаете установку приложения на откуп «чужим» админам, лучше потом проверять — а всё ли настроено верно? Конечно, обычно на production (машина, с которой работают реальные пользователи) настраивают всё внимательно, это на тестовых стендах могут что-то пропустить. Но лучше перебдеть!
В итоге админы настраивают окружение, а потом мы даем им скрипт, просим запустить его и прислать результаты. Я запустила скрипт на «голой» системе, где, разумеется, параметры настроены не были, и вот ответ:
Видим, что все проверки провалились, статус failed. Если и от админов приходит похожая картина, направляем их в документацию по настройке системы. Если к нам приходят с проблемой падения из-за нехватки памяти, снова просим выполнить скрипт. Так проще локализовать ошибку: это в приложении косяк, или окружение настроено плохо?
Когда надо писать скрипт?
Когда надо выполнить больше 3 команд за раз — проще выполнить одну, запустить скрипт.
Когда одну и ту же команду надо выполнять чаще 3 раз — лучше автоматизировать эту работу.
По сути своей, bash-скрипты — это та же автоматизация. А когда нужна автоматизация? Когда мы хотим избавиться от рутины, от постоянного выполнения одного и того же действия вручную. Повторяете одно и то же каждый день / неделю? Напишите скрипт. Даже если он на 2-3 строчки будет, это правда удобнее. Поверьте, сама делала небольшие скрипты =)
Подстановка комманд
Используйте $(command) вместо обратных кавычек.
Вложенные обратные кавычки требуют экранирования внутренних с помощью \ . Формат $ (command) не изменяется в зависимости от вложенности и его легче читать.
Выражения подстановки для имен файлов
Используйте явный путь при создании выражений подстановки для имен файлов.
Поскольку имена файлов могут начинаться с символа - , гораздо безопаснее расскрывать выражение подстановки как ./* вместо * .
eval следует избегать.
Eval позволяет раскрыть переменные передаваемые в вводе, но он так же может установить и другие переменные, без возможности их проверки.
Описание расширения JS
Популярность:
Расширение JS – это текстовый файл, содержащий код JavaScript, который используется во время загрузки веб-страницы. Примерами JS скриптов могут быть функции, которые открывают и закрываю окна, проверка полей формы, позволяющая изменять изображения, или создавать выпадающее меню.
На файлы JS ссылаются HTML файлы внутри секции HEAD, которые используют функции JavaScript.
MIME тип: application/x-javascript ,text/javascript, application/javascript
Названия константы переменных окружения
Все заглавными буквами, разделенны символами подчеркивания, объявлены в верхней части файла.
Константы и всё, что экспортируется в окружение, должны быть в верхнем регистре.
Некоторые вещи остаются постоянными при их первой установке (например, через getopts ). Таким образом, это вполне нормально устанавливать константу через getopts или на основе условия, но она должна быть сделана readonly сразу после этого. Обратите внимание, что declare не работает с глобальными переменными внутри функций, поэтому рекомендуется readonly или export вместо этого.
Комментарии по реализации
Комментируйте сложные, неочевидные, интересные или важные части вашего кода.
Это предполагается обычной практикой комментирования кода в Google. Не комментируйте все. Если есть сложный алгоритм или вы делаете что-то необычное, добавьте короткий комментарий.
STDOUT vs STDERR
Это помогает разделить нормальное состояние от актуальных проблем.
Проверки, [ и [[
[[ . ]] более предпочтительнее чем [ , test или /usr/bin/[ .
[[ . ]] уменьшает возможность ошибки, поскольку не происходит разрешение пути или разделение слов между [[ и ]] , и [[ . ]] позволяет использовать регулярное выражение, где [ . ] нет.
Как открыть файл SCRIPT?
Отсутствие возможности открывать файлы с расширением SCRIPT может иметь различное происхождение. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами Generic Script Format, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Ниже приведен список рекомендаций, которые помогут вам выявить и решить проблемы, связанные с файлами.
Шаг 1. Получить Text editor
Проблемы с открытием и работой с файлами SCRIPT, скорее всего, связаны с отсутствием надлежащего программного обеспечения, совместимого с файлами SCRIPT на вашем компьютере. Решение этой проблемы очень простое. Загрузите Text editor и установите его на свое устройство. В верхней части страницы находится список всех программ, сгруппированных по поддерживаемым операционным системам. Если вы хотите загрузить установщик Text editor наиболее безопасным способом, мы рекомендуем вам посетить сайт и загрузить его из официальных репозиториев.
Шаг 2. Проверьте версию Text editor и обновите при необходимости
Вы по-прежнему не можете получить доступ к файлам SCRIPT, хотя Text editor установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Иногда разработчики программного обеспечения вводят новые форматы вместо уже поддерживаемых вместе с новыми версиями своих приложений. Если у вас установлена более старая версия Text editor, она может не поддерживать формат SCRIPT. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью Text editor.
Шаг 3. Свяжите файлы Generic Script Format с Text editor
Если у вас установлена последняя версия Text editor и проблема сохраняется, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления SCRIPT на вашем устройстве. Следующий шаг не должен создавать проблем. Процедура проста и в значительной степени не зависит от системы
Изменить приложение по умолчанию в Windows
- Нажатие правой кнопки мыши на SCRIPT откроет меню, из которого вы должны выбрать опцию Открыть с помощью
- Выберите Выбрать другое приложение → Еще приложения
- Наконец, выберите Найти другое приложение на этом. , укажите папку, в которой установлен Text editor, установите флажок Всегда использовать это приложение для открытия SCRIPT файлы свой выбор, нажав кнопку ОК
Изменить приложение по умолчанию в Mac OS
Шаг 4. Убедитесь, что SCRIPT не неисправен
Если вы выполнили инструкции из предыдущих шагов, но проблема все еще не решена, вам следует проверить файл SCRIPT, о котором идет речь. Вероятно, файл поврежден и, следовательно, недоступен.
1. Проверьте SCRIPT файл на наличие вирусов или вредоносных программ.
Если файл заражен, вредоносная программа, находящаяся в файле SCRIPT, препятствует попыткам открыть его. Рекомендуется как можно скорее сканировать систему на наличие вирусов и вредоносных программ или использовать онлайн-антивирусный сканер. SCRIPT файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.
2. Убедитесь, что файл с расширением SCRIPT завершен и не содержит ошибок
3. Проверьте, есть ли у пользователя, вошедшего в систему, права администратора.
Существует вероятность того, что данный файл может быть доступен только пользователям с достаточными системными привилегиями. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл Generic Script Format.
4. Убедитесь, что в системе достаточно ресурсов для запуска Text editor
Операционные системы могут иметь достаточно свободных ресурсов для запуска приложения, поддерживающего файлы SCRIPT. Закройте все работающие программы и попробуйте открыть файл SCRIPT.
5. Проверьте, есть ли у вас последние обновления операционной системы и драйверов
Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом Generic Script Format. Возможно, что одно из доступных обновлений системы или драйверов может решить проблемы с файлами SCRIPT, влияющими на более старые версии данного программного обеспечения.
Вы хотите помочь?
Если у Вас есть дополнительная информация о расширение файла SCRIPT мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле SCRIPT.
Программы, которые поддерживают VBS расширение файла
Ниже вы найдете указатель программ, которые можно использовать для открытия файлов VBS, разделенных на категории 2 в соответствии с поддерживаемой системной платформой. VBS файлы можно встретить на всех системных платформах, включая мобильные, но нет гарантии, что каждый из них будет должным образом поддерживать такие файлы.
Длина строк и длина значений
Максимальная длина строки — 80 символов.
Если у вас есть необходимость в написании строк длиной более 80 символов, это должно быть сделано с помощью here document или, если это возможно, встроенным newline . Литеральные значения, которые могут быть длиннее чем 80 символов и не могут быть разделены разумно разрешены, но настоятельно рекомендуется найти способ сделать их короче.
Когда использовать Shell
Shell следует использовать только для небольших утилит или простых скрптов-оберток.
Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.
- Если вы чаще всего вызываете другие утилиты и делаете относительно небольшое манипулирование данными, shell является приемлемым выбором для задачи.
- Если производительность имеет значение, используйте что-нибудь другое, но не shell.
- Если вы обнаружите, что вам нужно использовать массивы более чем для назначения $ , вы должны использовать Python.
- Если вы пишете скрипт длиной более 100 строк, вы, вероятно, должны писать его на Python. Имейте в виду, что скрипты растут. Перепишите свой скрипт на другом языке раньше, чтобы избежать трудоемкой перезаписи позднее.
Отступы
Отступ 2 пробела. Без табов.
Используйте пустые строки между блоками, чтобы улучшить читаемость. Отступ — это два пробела. Независимо от того что вы делаете, не используйте табы. Для существующих файлов оставайтесь верными текущим отступам.
Расширения файлов
Исполняемые файлы не должны иметь расширения (сильно предпочтительно) или расширение .sh . Библиотеки должны иметь расширение .sh и не должны быть исполняемыми.
Нет необходимости знать, на каком языке написана программа при ее выполнении, а shell не требует расширения, поэтому мы предпочитаем не использовать его для исполняемых файлов.
Однако для библиотек важно знать, на каком языке она написана, и иногда бывает необходимо иметь похожие библиотеки на разных языках. Это позволяет иметь идентично названные файлы библиотек с идентичными целями, но наприсанные разных языках должны быть идентично названы, за исключением суффикса, специфичного для языка.
Когда использовать Shell
Shell следует использовать только для небольших утилит или простых скрптов-оберток.
Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.
- Если вы чаще всего вызываете другие утилиты и делаете относительно небольшое манипулирование данными, shell является приемлемым выбором для задачи.
- Если производительность имеет значение, используйте что-нибудь другое, но не shell.
- Если вы обнаружите, что вам нужно использовать массивы более чем для назначения $ , вы должны использовать Python.
- Если вы пишете скрипт длиной более 100 строк, вы, вероятно, должны писать его на Python. Имейте в виду, что скрипты растут. Перепишите свой скрипт на другом языке раньше, чтобы избежать трудоемкой перезаписи позднее.
Программы, обслуживающие файл VBS
Windows
MAC OS
Использование локальных переменных
Объявляйте переменные, зависящие от функции, с local . Объявление и назначение должны выполняться на разных строках.
Убедитесь, что локальные переменные видны только внутри функции и ее дочерних элементов, используя local при их объявлении. Это позволяет избежать загрязнения глобального пространства имен и непреднамеренно устанавливать переменные, которые могут иметь значение вне функции.
Объявление и присвоение должны идти разными командами, когда значение присваивания обеспечивается подстановкой команды; поскольку local не обрабатывает exit code из подстановленной команды.
Заголовок файла
Начинайте каждый файл с описанием его содержимого.
Каждый файл должен иметь заголовок из комментария, включающий краткое описание его содержимого. Уведомление об авторских правах и информация об авторе являются необязательными.
Оператор case
- Отделяйте варианты в 2 пробела.
- Для однострочных вариантов требуется пробел после закрывающей скобки шаблона и перед ;; .
- Длинные или многокомандная варианты должны быть разделены на несколько строк с шаблоном, действиями и ;; на раздельные строки.
Соответствующие выражения отступают на один уровень от case и esac . Многострочные действия так же имеют отступы на отдельный уровнь. Нет необходимости помещать выражения в кавычки. Шаблонам выражений не должны предшествовать открытые круглые скобки. Избегайте использование &; и ;;& обозначений.
Простые команды могут быть помещены в одну строку с шаблоном и ;; пока выражение остается читаемым. Это часто подходит для обработки однобуквенных опций. Когда действия не помещаются в одну строку, оставьте шаблон в своей строке, следующей действия, затем ;; также в собственной линии. Когда это та же строка, что и с действими, используйте пробел после закрывающей скобки шаблона и другой перед ;; .
Названия функций
В нижнем регистре, с подчеркиваниями для разделения слов. Разделите библиотек с :: . После имени функции требуются скобки. Ключевое слово function необязательно, но если используется, то последовательно во всем проекте.
Если вы пишете отдельные функции, используйте строчные и отдельные слова с подчеркиванием. Если вы пишете пакет, разделяйте имена пакетов с помощью :: . Скобки должны быть в той же строке что и имя функции (как и в других языках в Google), и не иметь пробел между именем функции и скобкой.
Когда "()" идут после имени функции, тогда ключевое слово function выглядит лишним, но это улучшает быструю идентификацию функций.
Пайпы в While
Используйте подстановку команд или цикл for , предпочтительнее пайпов в while . Переменные, измененные в цикле while , не распространяются на родителя, потому что команды цикла выполняются в сабшелле.
Неявный сабшелл в пайпе в while может затруднить отслеживание ошибок.
Используйте цикл for, если вы уверены, что ввод не будет содержать пробелы или специальные символы (обычно это не предполагает пользовательский ввод).
Используйте циклы while , где нет необходимости передавать сложные результаты в родительский shell — это типично, когда требуется более сложный "парсинг". Помните, что простые примеры, порой, гораздо проще решить с использованием такого инструмента, как awk. Это также может быть полезно, когда вы специально не хотите изменять переменные родительской среды.
Проверка значений
Используйте кавычки, а не дополнительные символы, где это возможно.
Bash достаточно умен, чтобы работать с пустой строкой в тесте. Поэтому, полученный код намного проще читать, используйте проверки для пустых/непустых значений или пустых значений, без использования дополнительных символов.
Чтобы избежать путаницы в том, что вы проверяеете, явно используйте -z или -n .
Расположение функций
Поместите все функции в файл чуть ниже констант. Не скрывайте исполняемый код между функциями.
Если у вас есть функции, поместите их все вместе в верхней части файла. Только включения, команды set и константы настройки, могут быть выполнены до объявления функций.
Не скрывайте исполняемый код между функциями. Это делает код трудным для подражания и приводит к неприятным неожиданностям при отладке.
Функция, называемая main , требуется для сценариев достаточно длинных, чтобы содержать хотя бы одну другую функцию.
Чтобы можно было легко найти начало программы, поместите основную программу в функцию main в самом низу функций. Это обеспечивает консистентность с остальной базой кода, а также позволит определить больше переменных как локальных (что невозможно сделать, если основной код не является функцией). Последняя строка не комментарий в файле должна быть вызовом main:
Очевидно, что для коротких скриптов, которые представляют ссобой лишь линейный поток, функция main — излишняя, и поэтому не требуется.
Программы, обслуживающие файл SCRIPT
Windows
MAC OS
Linux
Название переменных
Что касается имен функций.
Имена переменных для циклов должны быть одинаково названы для любой переменной, которую вы перебираете.
SUID/SGID
SUID и SGID запрещены на shell-скриптах.
Тут слишком много проблем с безопасностью, из-за чего почти невозможно обеспечить достаточную защиту SUID/SGID. Хотя bash усложняет запуск SUID, это все еше возможно на некоторых платформах, поэтому мы явно запрещаем его использование.
Используйте sudo для обеспечения повышенного доступа, если вам это необходимо.
Встроенные функции или Внешние комманды
Делая выбор между вызовом встроенной в shell функции и вызовом отдельного процесса, выберите встроенный.
Мы предпочитаем использование встроенных функций, таких как функции расширения параметров в bash, поскольку они более надежны и переносимы (особенно по сравнению с такими, как sed ).
Используйте здравый смысл и БУДЬТЕ КОНСИСТЕНТНЫ.
Пожалуйста уделите несколько минут, чтобы прочитать раздел Parting Words в нижней части руководства C++.
В Windows: Adobe Dreamweaver CS6, Adobe ColdFusion Builder 2, Microsoft Visual Studio 2010, Jetbrains IntelliJ IDEA, ES-Computing EditPlus, Microsoft Notepad, Adobe Creative Suite, Adobe ExtendScript, NotePad++, любой текстовый редактор, любой вэб-браузер
В Mac OS: Adobe Dreamweaver CS6, Adobe ColdFusion Builder 2, Apple Dashcode, Bare Bones BBEdit, MacroMates TextMate, любой текстовый редактор, любой вэб-браузер
В Linux: любой текстовый редактор, любой вэб-браузер
Читайте также: