2016-01-02 16 views
8

In Windows 10, quando lancio MS PowerShell per ssh attraverso un contenitore in Kitematic in Windows, ho notato che non posso backspace o delete, invece ho^H per backspace invece di eliminare effettivamente il carattere precedente.Come backspace o cancellare?

Mi manca qualcosa?

risposta

8

La soluzione temporanea imposta il comando tty erase su qualsiasi cosa il tasto backspace invii nel terminale, quando è connesso tramite ssh.

stty erase ^H 

Il ^H sequenza sopra non è il testo letterale ma un carattere di controllo inserito premendo Ctrl - v e poi backspace.

È possibile aggiungere questo comando al file .bashrc sulla finestra mobile della finestra mobile per impostarlo automaticamente ogni volta che si effettua la connessione. Quando si modifica il file in un terminale, è necessario inserire la stringa con la stessa sequenza di escape di cui sopra.

Fare questo in .bashrc imposterà erase per tutti accessi al VM così si può avere un impatto negativo il modo cancellazione funziona per altri tipi di terminale che si collegano.

Normalmente, questo verrà risolto sul lato client anziché sul server. For example, PuTTY has a specific setting for this. Non sono sicuro del motivo per cui la combinazione di powershell/ssh non è stata mappata correttamente, poiché Docker normalmente funziona fuori dalla scatola. Controlla cosa fanno le tue scorciatoie Docker quando avvii il terminale docker/ssh e fai lo stesso quando lanci il terminale per connetterti manualmente.

+0

La risposta di "onore di Krystan" è migliore perché consente l'ingresso corretto nel terminale senza tutte quelle uscite bizzarre come "^ H". Guarda la sua risposta qui sotto. – moeiscool

6

La risposta accettata funziona, ma ho pensato di far notare che se si avvia bash anziché rimanere in sh, tutto funziona quindi basta digitare bash al prompt # e si otterrà la funzionalità richiesta.

+0

questa dovrebbe essere la risposta accettata poiché corregge un numero di altri problemi di interfaccia. – moeiscool