이 질문은 어리석게 보일 수도 있지만 netcat 연결을 통해 멍청한 쉘을 업그레이드하는 방법을 알아내려고 노력하는 동안 이 질문에 부딪혔습니다.
더 구체적으로 말하면, 특정 키 입력이 셸의 특정 동작을 트리거하는 원인에 대해 이야기하고 있습니다. 예: 위쪽 화살표 = 이전 명령, 왼쪽 화살표 = 왼쪽으로 1 이동, 지우기 = 화면 지우기 등...
답변1
Bash의 경우 매뉴얼 페이지에 다음과 같이 나와 있습니다.
부르다
A login shell is one whose first character of argument zero is a -, or one
started with the --login option.
An interactive shell is one started without non-option arguments (unless -s is
specified) and without the -c option whose standard input and error are both
connected to terminals (as determined by isatty(3)), or one started with the -i
option. PS1 is set and $- includes i if bash is interactive, allowing a shell
script or a startup file to test this state.
여러 셸의 시작 파일에서 다음과 같은 상호 작용 테스트를 볼 수 있습니다.
if [ "$PS1" ]; then
# set up for interactive use
fi