![의사 터미널 없이 SSH를 사용할 때 bash 프롬프트를 어떻게 표시합니까?](https://linux55.com/image/198172/%EC%9D%98%EC%82%AC%20%ED%84%B0%EB%AF%B8%EB%84%90%20%EC%97%86%EC%9D%B4%20SSH%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20bash%20%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%91%9C%EC%8B%9C%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
연결이 느린 경우에는 가상 터미널(예: 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