한 줄에 두 단계를 실행하고 싶습니다.
twinkle -c
그 다음에
call sip:[email protected]
출력은 다음과 같습니다.
이 두 단계를 한 줄로 수행하고 싶어서 and and and를 시도했습니다.twinkle -c && call sip:[email protected]
twinkle -c call sip:[email protected]
twinkle -c ; call sip:[email protected]
twinkle -c --immediate --call sip:[email protected]
그러나 그들은 모두 다음과 같은 대답을 했습니다.
같은 선상에 놓을 수 있는 방법은 없을까요?
편집하다:두 번째 명령은 Twinkle 대신 bash에서 실행됩니다.
편집하다나는 그것을 시도했고 잠시 동안 작동했다가 자동으로 닫혔습니다 (깜박임을 끄고 bash로 돌아갑니다). 통화 중에는 계속 깜박여야 합니다.
printf %s\\n 'call sip:[email protected]' |twinkle -c
답변1
이를 수행할 수 있는 방법은 몇 가지뿐입니다.
twinkle -c && call sip:[email protected]
이 옵션을 사용하면 첫 번째 명령이 오류 없이 끝나면 두 번째 명령이 실행됩니다. 다른 경우에는 두 번째 항목이 실행되지 않습니다.
twinkle -c ; call sip:[email protected]
이 경우 첫 번째 명령이 오류로 끝나는지 여부에 관계없이 첫 번째 명령 다음에 두 번째 명령이 실행됩니다.
고쳐 쓰다:나는 당신이 다음과 같은 것을 찾고 있다고 생각합니다.
twinkle -c --immediate --call sip:[email protected]
~에서twinkle
매뉴얼 페이지:
--call <address> Instruct Twinkle to call the address. When Twinkle is already running, this will instruct the running process to call the address. The address may be a full or partial SIP URI. A partial SIP URI will be completed with the information from the user profile. A subject may be passed by appending '`?subject=<subject>`' to the address. Examples: `twinkle --call 123456 twinkle --call sip:[email protected]?subject=hello` --immediate This option can be used in conjunction with `--call` or `--cmd` It indicates the the command or call is to be performed immediately without asking the user for any confirmation.
답변2
twinkle
표준 입력을 받아 명령을 실행하는 것 같아요 . 그래서...
printf %s\\n 'call sip:[email protected]' | cat - /dev/tty |twinkle -c
...그렇게 할 수 있기를 바랍니다. 대신 twinkle
명시적으로 읽는 것 중 하나라면 /dev/tty
다음을 수행할 수 있습니다.
printf %s\\n 'call sip:[email protected]' | cat - /dev/tty |
luit -- twinkle -c
...또는 "아마도" script
또는 screen
"대신에"를 사용하세요 luit
.
이전 방법이 확실히 효과가 있으므로 다음 셸 함수를 사용하면 명령줄에서 실행하는 것이 더 쉬워질 수 있습니다. 하지만 이 답변의 두 방법 모두 해킹이라는 점에 유의해야 합니다. 원래는 다른 답변을 편집하여 포함하기 전에 이 글을 썼습니다 --call
. 몇 시간 후 다른 답변에 대한 의견이 작동하지 않는다고 제안했을 때 삭제를 취소했습니다. 그리고 그것이 도움이 될 것이라고 생각했습니다. 하지만 나라면 알아내려고 노력할 텐데왜다른 대답은 작동하지 않습니다.
그럼에도 불구하고 쉘 기능은 다음과 같습니다.
twinksip() while [ -n "$1" ]
do printf 'call sip:%s\n' "$1" |
cat - /dev/tty | twinkle -c || return
shift;done
... call sip:
모든 인수의 접두사를 지정하고 twinkle
의 표준 입력에 인쇄합니다. 인수를 제공한 순서대로 처리되며 추측한 대로 연속적으로 많은 호출이 실행됩니다. 마지막 호출이 끝나면 다음 호출이 시작됩니다.
예를 들어 프롬프트에서 호출할 수 있습니다.
twinksip [email protected]