Jawaban:
Nomor CtrlDpada * nix menghasilkan EOF, yang berbagai kerang menafsirkan sebagai berjalan exit
. Setara dengan EOF pada Windows CtrlZ, tetapi cmd.exe tidak menafsirkan ini secara khusus ketika diketik di prompt.
bash
et al. yang sebenarnya melakukan adalah TCC / LE autoexecuting Keyboard alias, seperti yang satu ini , di mana perintah interpreter (tidak konsol) mengakui kombinasi keystroke biasa ALT+F4
selama pengeditan baris dan mengeksekusi built-in exit
perintah dalam respon.
stty -a
kembali icanon
(yaitu tidak -icanon
). Apakah komentar Anda With most modern shells, the terminal is not in canonical input mode when the shell is interactively accepting input
benar secara statistik saat ini?
Alt- Space. Lalu C,.
Ya, ini sedikit lebih lambat dari Ctrl- D. Tapi ini adalah jawaban untuk apa yang Anda minta: urutan langkah kunci setara bawaan yang memungkinkan Anda keluar dari prompt tanpa perlu mengetikkan exit
perintah. Tidak diperlukan perangkat lunak pihak ketiga.
Ini mungkin tidak bekerja sama persis dengan bash: bash hanya akan keluar pada baris perintah kosong. Di Windows, ini bisa menutup jendela, bahkan jika Anda sudah mengetik perintah parsial di atasnya.
Anda dapat menggunakan DOSKEY untuk membuat makro di CMD.exe.
Untuk membuat tipe makro:
DOSKEY [macroname]=[command(s)]
Dengan begitu Anda dapat mengikat kunci ke perintah lain.
Contoh:
DOSKEY e=exit
akan mengikat e
ke exit
perintah, jadi ketika Anda masukan sebuah e
prompt akan seperti Anda masukan sebuahexit
Saya tidak yakin apakah Anda dapat menggunakan CTRL- $nkombinasi sebagai makro
cmd
hanya menafsirkannya sebagai perintah normal, menunggu untuk Enter
ditekan, sehingga tidak ada keuntungan dari aliasing Ctrl-Z versus adil e
atau x
.
Sekarang ada proyek open source yang disebut clink di http://code.google.com/p/clink/ (edit: pindah ke http://mridgers.github.io/clink/ ) - ini membawa fungsionalitas Unline readline ke prompt perintah Windows.
Ini mendukung sebagian besar fungsionalitas termasuk pengeditan baris perintah, pencarian riwayat, penyelesaian tab bersama dengan skrip penyelesaian, dll. Layak untuk dicoba, membuat cmd menyedot lebih sedikit. ;]
Anda bisa mendapatkan efek yang sama dengan cuplikan Autohotkey ini :
; 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
pada kenyataannya hanya karakter biasa dan bukan karakter khusus EOF. Shell mengikatCtrl+D
ke GNU Readline atau tindakan ZLE yang keluar (tetapi hanya jika buffer pengeditan baris kosong) sehingga sebagian besar perilaku hasil yang sama. TapiCtrl+D
ini tidak EOF dengan kerang modern, hanya sebuah karakter kontrol biasa. Perilaku ketika buffer pengeditan tidak kosong sangat berbeda dengan apa yang terjadi dengan karakter khusus EOF.