Відповіді:
Ні. CtrlD* Nix генерує EOF, який різні оболонки інтерпретують як біг exit
. Еквівалент для EOF в Windows є CtrlZ, але cmd.exe не інтерпретує це спеціально, коли вводиться у запиті.
bash
та ін. які на насправді роблять це TCC / LE autoexecuting клавіатури псевдонім, такий як цей , де інтерпретатор команд (НЕ консоль) розпізнає звичайну комбінацію клавіш ALT+F4
під час редагування рядка і виконує вбудовану exit
команду у відповідь.
stty -a
повертає icanon
(тобто ні -icanon
). Чи With most modern shells, the terminal is not in canonical input mode when the shell is interactively accepting input
справді ваш коментар є статистично правильним на даний момент часу?
Alt- Space. Тоді C.
Так, це трохи повільніше, ніж Ctrl- D. Але це відповідь на саме те, що ви просите: вбудована еквівалентна послідовність обведення ключів, яка дозволяє виходити з підказки без необхідності вводити exit
команду. Жодне сторонне програмне забезпечення не потрібно.
Це може не працювати абсолютно ідентично bash: bash буде виходити лише з порожнього командного рядка. У Windows це вікно може закрити, навіть якщо ви вже ввели часткову команду.
Ви можете використовувати DOSKEY для створення макросів у CMD.exe.
Щоб створити тип макросу:
DOSKEY [macroname]=[command(s)]
Таким чином ви можете прив’язати ключ до іншої команди.
Приклад:
DOSKEY e=exit
буде прив'язуватися e
до exit
команди, тож коли ви вводите e
вказівку, це буде так, як ви вводитеexit
Я не впевнений , якщо ви можете використовувати CTRL- $nкомбінації в вигляді макросів , хоча
cmd
просто інтерпретують їх як звичайні команди, очікуючи Enter
їх натискання, тому немає переваги згладжування Ctrl-Z порівняно з просто e
або x
.
Зараз на сайті http://code.google.com/p/clink/ (редакція: він перейшов на http://mridgers.github.io/clink/ ) існує проект з відкритим кодом, який називається clink - він приносить функцію читання Unix для командний рядок 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
Ctrl+D
насправді є просто звичайним символом, а не спеціальним символом EOF. Оболонки прив’язуютьсяCtrl+D
до дії GNU Readline або ZLE, яка завершується (але тільки якщо буфер редагування рядків порожній), тому поведінка є здебільшого тим самим результатом. АлеCtrl+D
чи не EOF із сучасними снарядами, а просто звичайний контрольний персонаж. Поведінка, коли буфер редагування не порожній, помітно відрізняється від того, що відбувається із спеціальним символом EOF.