Pregunta Cómo retroceder los caracteres en el búfer cmd?


Si usamos el símbolo del sistema para ejecutar scripts cortos como tales:

C:\php> php.exe

<?php
echo 'test';
?>

, la salida se mostraría directamente en el símbolo del sistema:

test
^C
C:\php> 

Entonces, digamos que hay errores tipográficos y me gustaría hacer un "retroceso".

P.ej. asumiendo que escribimos mal echo como echoo:

C:\php> php.exe

<?php
echoo 'test';

¿Cómo puedo lograr el comportamiento de "retroceso" en cmd sin tener que abortar el script completo y volver a escribir todo desde cero?


1


origen




Respuestas:


CMD admite la tecla de retroceso y funciona como lo describes cuando escribes un comando antes de ejecutándolo.

Una vez que haya comenzado el comando (php.exe en este caso), entonces STDIN está conectado a ese programa (no a CMD) y, por lo tanto, depende de ese programa si implementa o permite el retroceso o no.

Para el programa, la tecla de retroceso es solo otro personaje que necesita procesar (p. ASCII # 8)


1



(Para aplicaciones que no implementan esta característica) En otras palabras, ¿estás diciendo que no es posible "piratear" esta limitación? - Pacerier
Una vez que hayas ejecutado la aplicación, no. Sin embargo, para PHP, puedes intentar esto: php.net/manual/en/features.commandline.interactive.php - Justin
Ah, estaba pensando que algún tipo de protocolo "estándar" se habría construido para abordar este problema tan molesto ... - Pacerier
@Pacerier: No: el búfer de teclado era compatible con los viejos sistemas BIOS de los últimos 486 días. Estaba limitado a 16 pulsaciones de teclas, creo. Al presionar retroceso, se utilizaría otra de las 16 teclas recordadas, no se eliminaría ninguna. Hoy en día la tecnología puede haber avanzado; tal vez los sistemas operativos admiten búferes ilimitados en estos días, no lo sé. Pero el comportamiento todavía se basa en el diseño de compatibilidad con el viejo estándar. Debido a que muchas personas están apegadas al uso de roedores, la mejora de las experiencias con los almacenamientos intermedios de teclado no se ha considerado como una prioridad muy importante. - TOOGAM