полагаю, что twinkle
принимает stdin и выполняет команды. Так что...
printf %s\\n 'call sip:in06khattab@sip.linphone.org' | cat - /dev/tty |twinkle -c
... будем надеяться, что сделаем это. Если вместо этого twinkle
является одним из тех, которые явно читают /dev/tty
, то, вероятно, вы можете сделать....
printf %s\\n 'call sip:in06khattab@sip.linphone.org' | cat - /dev/tty |
luit -- twinkle -c
... или использовать, возможно, скрипт или экран
вместо
luit
.
Так как первый метод, очевидно, работает, то следующая функция оболочки, возможно, сделает более простой запуск из командной строки. Обратите внимание, что оба метода в этом ответе являются своего рода взломами - сначала я написал это, а затем удалил после того, как другой ответ был отредактирован и включал --call
. Я недооценил его только спустя несколько часов, когда комментарии к другому методу указывали на то, что он не работает, и я подумал, что это может еще помочь. На моем месте я бы попытался выяснить , почему другой ответ не работает.
Тем не менее, функция оболочки:
twinksip() while [ -n "$1" ]
do printf 'call sip:%s\n' "$1" |
cat - /dev/tty | twinkle -c || return
shift;done
... которая подготовит префикс вызова call sip:
ко всем своим аргументам и распечатает их на twinkle
stdin. Он обработает по порядку столько аргументов, сколько вы ему дадите, что, как я полагаю, сделает много вызовов подряд - начиная со следующего, когда закончится последний.
Вы бы вызвали его из подсказки вроде:
twinksip in06khattab@sip.linphone.org
У вас есть только пара способов сделать это:
twinkle -c && call sip:in06khattab@sip.linphone.org
с этой опцией, вторая команда выполняется, когда первый конец без ошибок. В другом случае второй никогда не выполняет.
twinkle -c ; call sip:in06khattab@sip.linphone.org
В этом случае вторая команда выполняется после первого, независимо от ошибки первого конца или без него.
Обновление : Я верю, что вы ищете что-то вроде этого:
twinkle -c --immediate --call sip:in06khattab@sip.linphone.org
из Twinkle
Ручная страница:
- Вызов Проинструктируйте мерцание, чтобы позвонить по адресу. Когда мерцание уже работает, это будет проинструктировать рабочий процесс называть адрес. Адрес может быть полным или частичным SIP URI. Частичный SIP URI будет укомплектован информацией из профиля пользователя. Субъект может быть передан путем добавления ««? »=
` 'по адресу. Примеры: `Twinkle --Call 123456 Twinkle --Call (скрыт) --немедленный Эта опция может использоваться в сочетании с `--call` или` --cmd` - это указывает, что команда или вызов должен быть выполнен немедленно, не просив пользователя для любого подтверждения.