Acho que o seguinte comando deve funcionar:
( stty raw speed 115200 >&2; echo -ne 'output-string' ) >/dev/ttyUSB0 <&1
Nota:
- isso inicia um shell com entrada e saída redirecionada para seu dispositivo de saída;
- entrada precisa de redirecionamento porque
stty
funciona no dispositivo de entrada padrão, enquanto sua saída de diagnóstico ainda deve ser direcionada para o terminal de inicialização; -
stty raw
impede que caracteres estranhos sejam adicionados à saída; -
echo -n
pára a nova linha implícita no final da string, enquantoecho -e
permite que sequências de escape com redução de barra produzam caracteres não imprimíveis se o seu dispositivo exigir isso; - e um subshell é necessário para que
/dev/ttyUSB0
não seja fechado e reaberto, o que pode redefinir suas configurações.
Não redirecionar erro padrão: você não quer mensagens de erro enviadas para o dispositivo!
Eu testei isso em /dev/tty1
e parece funcionar, mas não tenho um dispositivo serial para verificá-lo completamente. Eu precisava estar em um shell de root para o comando funcionar, mas suas permissões podem permitir isso a partir de um shell de usuário.