Я оцениваю Windows PowerShell как замену cmd.exe для базовой автоматизации процессов для кода командной строки (например, установка, выполнение и пост-обработка большого числа заданий Fortran). Я знаю достаточно Perl и shell для что я хочу, но я стараюсь оставаться в инструментальной цепочке Windows, вместо того, чтобы тренировать своих сотрудников на Perl, Python, Ruby, Cygwin и т.д. Я работаю в инженерной фирме, поэтому нам не нужно .NET или обширные рамки для разработки Windows. Короче говоря: мы хрустем много номеров с внутренним кодом, и мне нужны разумные средства автоматизации повторяющихся ручных задач.
Проблема в том, что у меня возникли проблемы с оценкой языка, потому что я не могу найти краткое руководство по использованию языка для PowerShell,
Да, я просмотрел сайт Microsoft, но (в 2010 году, когда этот вопрос изначально был задан), он настолько дезорганизован и задушен нерелевантным информация о непригодности к использованию. Google имеет тенденцию указывать мне на этот сайт и не очень полезен.
Вот некоторые из тем, которые меня интересуют (отмечаются аналоги Unix и Perl):
- Внутренние функции
- Основные функции тестирования/ветвления/цикла и управления потоком
- Внутренние типы переменных (логические, целые, с плавающей запятой, строка)
- Внутренние структуры данных (скаляр, список, ассоциативный массив, объект)
- Операторы и приоритет оператора
- Функции, специфичные для языка автоматизации задач:
- Управление процессом (exec, fork, wait, kill)
- Мониторинг системы (ps, время безотказной работы, lsof, фьюзер, netstat, df)
- Обработка файлов и каталогов (поиск, поиск, которые, cd, mkdir, touch, rm, rmdir)
- I/O (трубы, cat, tee, xargs, чтение, запись, перезапись, добавление, поиск)
- Функции обработки текста (awk, sed, grep, split, join, cut, fmt, string)
Другие вопросы, на которые я ожидаю ответа:
- Является ли PowerShell строго типизированным (char, строка, int, long, float, double) или слабо типизированный (вариант)?
- Доступны ли общие структуры данных (скалярные, список, ассоциативный массив) и являются ли они первоклассными элементами?
- Есть ли библиотека или модульная система?
- Если да, то что находится в стандартной библиотеке?
- Есть ли сторонние библиотеки, которые я могу использовать, если я не найду то, что мне нужно?
- Это процедурный, функциональный или объектно-ориентированный язык - или в какой степени каждый?
- Каковы соглашения о кодировании? (Perl Best Practices)
- Есть ли ожидания форматирования - линейная или свободная форма?
- Значит ли это пробел или регистр?
- Есть ли ограничение набора символов?
- Является ли язык 8-битным чистым?
- Поддерживает ли он UTF-8, Unicode и т.д.?
Мне очень интересно найти M в RTFM, но обратите внимание, что я на этапе оценки, так что я потерял 50 долларов или около того от Microsoft Press (который в 2010 году был бы основным источником редактирования, печатная документация) является не стартером.