(tentei postar como comentário, mas estou recebendo um erro - tentarei como resposta)
Quando você diz "executar de um atalho" sem abrir um shell ", você está falando em um ambiente gráfico (X11) sem abrir uma janela do emulador de terminal?
O comando shell read
lê os caracteres do caractere de "entrada padrão" - não necessariamente o teclado.
Um emulador de terminal recebe eventos do teclado X11 em sua janela e mapeia para um fluxo de caracteres (que geralmente começa como entrada padrão).
Se você quiser usar read
, mas não um emulador de terminal, precisará de algo mais para mapear os eventos de pressionamento de tecla X11 de algumas janelas para um fluxo de caracteres. (possivelmente a "janela raiz")
Dependendo do que o seu script está fazendo com os personagens, pode ser mais fácil escrever um pequeno programa gráfico.