Существует ли эквивалентное нажатие клавиши для выхода из командной строки в Windows (запускается через Пуск-> Выполнить: cmd) в режиме ожидания bash от Ctrl- d, чтобы избежать необходимости ввода exit
для выхода из оболочки?
6 ответов
Нет. Ctrl D на * nix генерирует EOF, который различные оболочки интерпретируют как текущий exit
. Эквивалентом EOF в Windows является Ctrl Z, но cmd.exe не интерпретирует это специально при вводе в командной строке.
Альт - Космос. Тогда С.
Да, это немного медленнее, чем Ctrl - D. Но это ответ именно на то, что вы просите: встроенная эквивалентная последовательность нажатий клавиш, которая позволяет вам выйти из приглашения без необходимости ввода команды exit
. Никакое стороннее программное обеспечение не требуется.
Это может не работать абсолютно идентично bash: bash будет выходить только из пустой командной строки. В Windows это может закрыть окно, даже если вы уже набрали на нем частичную команду.
Вы можете использовать DOSKEY для создания макросов в CMD.exe.
Чтобы создать тип макроса:
DOSKEY [macroname]=[command(s)]
Таким образом, вы можете связать ключ с другой командой.
Пример:
DOSKEY e=exit
привяжут e
к команде exit
поэтому при вводе e
приглашение к вводу было бы , как вы вводите exit
Я не уверен, что вы можете использовать комбинации CTRL - $ n в качестве макросов
Исправлен автоглючный подход. (Я не могу добавить комментарий.)
#IfWinActive, ahk_class ConsoleWindowClass
^d::
; First send ESC, in case we're in select mode.
Send {Esc}{Esc}exit{Enter}
#IfWinActive
В настоящее время существует проект с открытым исходным кодом под названием clink по адресу http://code.google.com/p/clink/ (редактировать: он перемещен на http://mridgers.github.io/clink/) - он предоставляет функциональность Unix readline для командная строка Windows.
Он поддерживает большинство функций, включая редактирование в командной строке, поиск в истории, завершение табуляции вместе со скриптами завершения и т.д. Стоит проверить, что делает cmd менее эффективным. ;]
Вы можете получить тот же эффект с помощью этого фрагмента AutoHotKey :
; Close Command Prompt when pressing Ctrl+D
#IfWinActive, Command Prompt$
^d::
; First send ESC, in case we're in select mode.
Send {Esc}{Esc}exit{Enter}
#IfWinActive