`ssh user@server mycommand`가 대화형 쉘을 생성하는 이유는 무엇입니까?

`ssh user@server mycommand`가 대화형 쉘을 생성하는 이유는 무엇입니까?
$ ssh t@localhost [[ $- == *i* ]] && echo 'Interactive' || echo 'Not interactive'
Interactive

-s위 셸에 옵션 인수가 없고 또는 가 -c없기 때문에 왜 대화형인지 궁금합니다 -i.

Bash 매뉴얼에서:

대화형 쉘은 -s가 지정되었지만 -c 옵션이 지정되지 않은 경우, 입력 및 오류 출력이 터미널(isatty(3)에 의해 결정된 대로)에 연결되지 않는 한 옵션이 아닌 인수 없이 시작된 쉘입니다. 또는 시작 사용: -i 옵션.

감사해요.

답변1

당신은 당신이 생각했던 테스트를 수행하고 있지 않습니다. 확장이 $-진행 중입니다앞으로명령이 ssh실행됩니다. 전시하다:

$ set -x
$ ssh home echo $-
+ ssh home echo himxBHs
himxBHs
$ ssh home 'echo $-'
+ ssh home 'echo $-'
hBc

관련 정보