상상하다: 소스 호스트(Solaris 5.10, KSH), 다음 스크립트를 실행해 보았습니다.샘플.ksh원천
#!/bin/ksh
set -x
Rediscover ()
{
ssh user@hostB ./scripts/test.ksh
}
Rediscover
exit 0
원격 호스트: Linux(bash 쉘), 다음 스크립트가 있습니다테스트.ksh
#!/bin/bash -x
resize
stty -a
exit
문제: 문제 없이 Linux 호스트에서 test.ksh를 직접 실행할 수 있지만 Solaris에서 원격으로 실행하려고 하면 다음 오류가 발생합니다.
root@hostA# ./sample.ksh
+ Rediscover
+ resize
resize: can't open terminal /dev/tty
+ stty -a
stty: standard input: Invalid argument
+ exit
+ exit 0
resize 및 stty -a의 출력을 원격으로 볼 수 없는 이유는 무엇입니까?
A에서 B까지 SSH 키 설정
답변1
-tt
스크립트에서 스위치를 사용하여 대화형 세션을 강제 할 수 있습니다 .
ssh -tt user@hostB ./scripts/test.ksh
hostB
그렇지 않으면 TTY가 할당되지 않으며 이러한 유형의 오류가 발생합니다.