codingtwinky codingtwinky - 5 months ago 14
Bash Question

How do I pass ESC to stdin?

How do I pass Esc to stdin in shell, the Esc on a keyboard?

I have discovered that

0x1B
or
^[
is the outputted result of Esc but how can I input Esc?

Answer

On most keyboards, it can be entered as control[.

In a shell script, you could do this (which is part of the POSIX shell):

printf '\033'

and in GNU echo, you may do

echo -e '\e'

Piping either to a script makes that the script's standard input ("stdin"):

printf '\033' | myscript