Назад | Перейти на главную страницу

Приличная оболочка командной строки для Windows

Наверняка кто-то написал достойную оболочку для Windows.

я ищу

а) что-то более или менее похожее на обычную оболочку Linux (например, история, завершение и т. д.)

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

Бонусные баллы, если это:

в) Свободный (как в речи)

г) Позволяет использовать косую черту вместо обратной в путях.

Powershell имеет ЗНАЧИТЕЛЬНОЕ преимущество перед любой другой командной оболочкой. Это ОБЪЕКТИВНО.

В cmd, bash и т. Д. Ваш вывод такой команды, как dir / ls, представляет собой фактически массив строк. Если вы передадите это другой команде, вам придется обрабатывать строки. В Powershell командлет dir фактически предоставляет массив файловых объектов, которые вы можете передать другой команде и воздействовать на эти объекты через свойства. Powershell - это действительно интерактивная оболочка .Net. Каждый командлет на самом деле является оболочкой для набора объектов .Net.

Все интерфейсы управления следующего поколения, поступающие от Microsoft, фактически реализованы в Powershell, а интерфейсы графического интерфейса пользователя представляют собой оболочку для команд Powershell, аналогичную «способу Unix» при работе с инструментами администрирования графического интерфейса.

Вот пример с точки зрения Active Directory ... Вы можете использовать оболочку cmd.exe и такую ​​утилиту, как dsquery.exe, для выполнения запросов LDAP для объектов. Но вы получите список выдающихся имен обратно. Затем вы можете обрабатывать эти DN как строку и т. Д. В Powershell v1 или v2 вы можете установить и использовать Оснастка квеста это дает вам такие инструменты, как get-QADUser. Когда вы запрашиваете AD с get-QADuser возвращаемые значения - это коллекция объектов User. Итак, такая команда, как:

$users = get-QADUser svc_*

Вернет коллекцию, которую вы можете обработать по свойству, например, чтобы отсортировать их по HomeDirectory, которую вы бы использовали:

$HmDirs = get-QADUser svc_* | sort-object HomeDirectory

Нет другой оболочки, которая имела бы такую ​​возможность для Windows. Powershell - это то, что вам нужно.

Обновление: PowerShell v2 теперь выпущен как часть Платформа управления Windows, но если вы хотите получить командлеты Microsoft AD, у вас должен быть сервер 2008 R2 или Windows 7, иначе это все еще командлеты Quest.

Powershell. Достаточно. :)

Я почти уверен, что cmd допускает косую черту.

Вы смотрели Powershell? Люди, кажется, клянутся этим.

Windows Powershell великолепен, прост в установке и будет поставляться с Windows 7. Вы даже можете написать командлеты которые очень похожи на сценарии bash.

Я пользуюсь Ubuntu около 3 лет, и мне это очень понравилось.

Мне нужно присоединиться к припеву PowerShell. В отличие от оболочки в стиле unix, все командлеты используют конвейер объектов, которые переходят от одного командлета к другому. Это означает, что вам не нужно беспокоиться о том, как заставить один командлет работать с другим. В мире unix большинство команд и сценариев оболочки тратят большие объемы кода на удаление «лишнего текста», с которым следующая команда не может справиться. Это также означает, что чем больше вы узнаете о нем, тем больше сможете его использовать. В отличие от типичной оболочки, где вам нужно изучить, как работает каждая команда, чтобы вы могли понять, как преобразовать передаваемый текст, командлеты PowerShell работают одинаково независимо от ввода. Например, если я отправляю список каталогов в select-object (который выбирает определенные свойства для использования) select-object работает точно так же, если я отправляю ему объект пользователя активного каталога, класс управления SCOM или почтовый ящик обмена.

Взгляни на А теперь кое-что совершенно другое: знакомство с Windows PowerShell

Почему ты бросил Cygwin? Какие проблемы у вас возникли с Cygwin? Хотя я только баловался с PowerShell, я использовал cygwin несколько лет и обнаружил, что утилиты POSIX необходимы на машинах wintel, не говоря уже обо всех сервисах, таких как SSH-клиент и сервер, и X-windows. Все бесплатно.

Майк прав, всегда есть Оболочка Hamilton C. (Я написал это! :) И я с радостью могу сообщить, что я выпустил основную версию буквально через несколько дней после того, как Майк заметил, что она, похоже, не обновлялась в последнее время. Эта последняя сборка теперь полностью поддерживает Vista и Win7, и вы получаете как 32-разрядные, так и 64-разрядные двоичные файлы.

Чтобы ответить на ваши конкретные вопросы:

  1. Да, он включает в себя все обычные подозреваемые, историю, редактирование командной строки, завершение имени файла и команды, псевдонимы, фоновые процессы и т. Д., А также множество улучшений, таких как встроенные и определяемые пользователем процедуры, переменные с блочной структурой, выражения с плавающей точкой. точка и улучшенные подстановочные знаки (например, конструкция "..." для обозначения нуля или более уровней каталогов, необходимых для сопоставления с шаблоном). Он также включает довольно полный набор всех обычных встроенных и внешних утилит, таких как more, ls, grep, sed, head, tail, diff, xargs, sort, chown, tar и т. д. (Единственные важные вещи, которые я не включаю, это awk, perl и vi, для которых официальные бесплатные версии для Windows уже существует.)

  2. Это очень прост в установке. Просто откройте стандартный MSI-файл установщика Windows, совместимый с XP и Vista, и все готово. Все руководство пользователя установлено в виде гипертекста. Он полностью исправен, поэтому удаление через панель управления также работает точно так же, как и должно, удаляя все. (Вы не найдете мусора, оставленного в реестре или где-либо еще.)

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

  4. Да, вы можете использовать прямую или обратную косую черту. И вы можете установить escape-символ как циркумфлекс в стиле Windows (^) или обратную косую черту в стиле UNIX ().

Я единственный автор. Это моя собственная работа, написанная полностью с нуля для Windows. Я сразу перехожу к Win32 API для всего (я даже не беспокоюсь о среде выполнения C, за исключением sprintf, потому что CRTL скрывает такие вещи, как коды ошибок), поэтому он очень быстр и действительно понимает Windows. Внутренне он реализован как настоящая многопоточная архитектура компилятора с нисходящим рекурсивным спуском, поэтому, даже несмотря на то, что это оболочка C, вы можете быть уверены, что у нее нет проблем, на которые часто жалуются в исходной оболочке C UNIX.

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

Если у вас есть вопросы или я могу чем-то помочь, просто отправьте мне письмо по адресу hamilton@hamiltonlabs.com или позвоните мне по телефону 425-497-0102. Как я уже сказал, я реальный человек и отвечаю на телефонные звонки. Я надеюсь, что это было полезно.

http://win-bash.sourceforge.net/ <- если вы уже привыкли к стилю bash.

Всегда есть Гамильтон C Shell, но похоже, что он не обновлялся активно в последний год или около того.

Вы действительно недавно смотрели cmd.exe? Поскольку, по крайней мере, еще в Windows XP он поддерживает все ваши требования, кроме / вместо \ (так что никаких бонусных баллов, но в остальном все в порядке).

Добавление содержимого unxutils на твой путь - это то, что мне лучше всего подходит.

Уже много лет. Таким образом, вы все еще находитесь в исходном окне dos, поэтому строки эмулятора не прикреплены.

grep, ls, du, это почти все, вам, возможно, придется поохотиться за некоторыми дополнениями, такими как curl.exe.