Eu acho que twinkle
está aceitando stdin e executando comandos. Então ...
printf %s\n 'call sip:[email protected]' | cat - /dev/tty |twinkle -c
... deve fazê-lo. Se, em vez disso, twinkle
é um daqueles que lê /dev/tty
explicitamente, você provavelmente pode fazer ...
printf %s\n 'call sip:[email protected]' | cat - /dev/tty |
luit -- twinkle -c
... ou use talvez script
ou screen
no lugar de luit
.
Como o antigo método aparentemente funciona para você, a seguinte função de shell pode torná-lo mais simples de executar na linha de comando. Você deve notar, entretanto, que ambos os métodos nesta resposta são tipos de hacks - eu originalmente escrevi isso e depois deletei depois que a outra resposta foi editada para incluir --call
. Eu só a recuperei horas depois quando os comentários sobre o outro indicaram que não estava funcionando e achei que isso ainda poderia ajudar. Se fosse eu, no entanto, tentaria descobrir por que a outra resposta não funciona.
Ainda assim, a função shell:
twinksip() while [ -n "$1" ]
do printf 'call sip:%s\n' "$1" |
cat - /dev/tty | twinkle -c || return
shift;done
... que prefixará o prefixo call sip:
em todos os seus argumentos e os imprimirá no stdin de twinkle
. Ele processará tantos argumentos quantos forem fornecidos, o que, como eu acho, faria muitas chamadas seguidas - começando a próxima quando a última terminar.
Você ligaria do prompt como:
twinksip [email protected]