Come backspace i caratteri nel buffer cmd?


1

Se utilizziamo il prompt dei comandi per eseguire brevi script come tali:

C:\php> php.exe

<?php
echo 'test';
?>

, l'output verrà visualizzato direttamente nel prompt dei comandi:

test
^C
C:\php> 

Quindi diciamo che ci sono errori di battitura e mi piacerebbe fare un "backspace".

Ad esempio, supponendo che abbiamo sbagliato echoa digitare come echoo:

C:\php> php.exe

<?php
echoo 'test';

Come posso ottenere il comportamento "backspace" su cmd senza dover interrompere lo script completo e digitare nuovamente da zero?

Risposte:


1

CMD supporta la chiave backspace e funziona come descritto quando si digita un comando prima di eseguirlo.

Una volta iniziato il comando (php.exe in questo caso), STDIN è collegato a quel programma (non CMD) e quindi dipende da quel programma se implementa o consente il backspacing o meno.

Per il programma, il tasto backspace è solo un altro carattere che deve elaborare (es. ASCII # 8 ).


(Per le app che non implementano questa funzione) In altre parole, stai dicendo che non è possibile "hackerare" questo limite?
Pacerier,

Dopo aver eseguito l'app, no. Tuttavia per PHP, potresti provare questo: php.net/manual/en/features.commandline.interactive.php
Justin

Ah, stavo pensando che una sorta di protocollo "standard" sarebbe stato ormai realizzato per affrontare questo fastidioso problema ....
Pacerier,

@Pacerier: No: il buffer della tastiera era supportato dai vecchi sistemi BIOS sin dai tempi precedenti i 486 giorni. Penso che sia stato limitato a 16 sequenze di tasti. Premendo backspace si consumerebbe un altro di quei 16 tasti premuti, non rimuoverne uno. Oggi la tecnologia potrebbe essere avanzata; forse i sistemi operativi supportano buffer illimitati in questi giorni, non lo so. Ma il comportamento si basa ancora sulla progettazione della compatibilità con il vecchio standard. Dato che così tante persone sono attaccate all'uso dei roditori, migliorare le esperienze con i buffer di tastiera non è stato ampiamente considerato una priorità molto critica.
TOOGAM
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.