의사 터미널 없이 SSH를 사용할 때 bash 프롬프트를 어떻게 표시합니까?

의사 터미널 없이 SSH를 사용할 때 bash 프롬프트를 어떻게 표시합니까?

연결이 느린 경우에는 가상 터미널(예: or)을 할당하지 않고 SSH를 사용하여 원격 시스템에 연결합니다. 쉘을 사용할 수 있지만 쉘에 프롬프트가 표시되지 않습니다. 예를 들어 의사 터미널 없이 SSH를 통해 연결할 때 쉘에 프롬프트를 표시하는 방법이 있습니까?ssh -T [email protected]ssh [email protected] bash$

원격 시스템에서 아래 bash 스크립트를 실행할 수 있지만 프롬프트를 표시하는 데 사용할 수 있는 내장된 것이 있는지 궁금합니다.

#!/bin/bash
# or #!/bin/sh

PS='$ '

prompt() {
    printf '%s' "$PS"
    read -r line
    # Exit if EOF (Ctrl-d).
    [ "$?" -ne 0 ] && echo && exit
    eval "$line"
}

# Handle Ctrl-c.
trap 'echo && prompt' INT

while :
do
    prompt
done

(다음에서 적응:https://tldp.org/LDP/abs/html/intandnonint.html)

이 스크립트의 단점은 여러 줄 입력을 처리할 수 없다는 것입니다.

답변1

분명히 tty 누락으로 인해 발생하는 모든 문제를 해결할 수는 없지만 다음과 같이 할 수 있습니다.

ssh -T [email protected] bash -i

관련 정보