예를 들어
$ pwd
/home/my_name
명령이 사람에 의해 입력되었는지 아니면 스크립트에 의해 실행되었는지 여부가 인식될 수도 있고 인식되지 않을 수도 있습니다.
답변1
아니요.
스크립트 또는 셸 함수는 (대화형 셸임을 나타냄) $-
을 확인하고 찾 거나 제어 tty(예 : )를 찾을 수 있지만 이는 완벽한 방법은 아닙니다.i
tty
사용자의 셸 세션에서 실행된 모든 명령을 기록 하거나 root
해당 셸 기록 파일을 보더라도 표시되는 명령이 해당 사용자가 직접 입력했는지, 명령줄에 삽입했는지(또는 로그에 입력했는지) 알 수 없습니다. ) 스크립트 또는 기타 방법으로.
답변2
실제로 완벽한(또는 가짜) 증명 방법은 없지만(적어도 내가 아는 한) 기술적으로는 다음을 통해 차이점을 확인할 수 있습니다.
root@aw [~]# set > cons
root@aw [~]# cat ./test.sh
#!/bin/bash
set > scri
root@aw [~]# ./test.sh
그 다음에
root@aw [~]# diff cons scri
다양한 차이점이 있으니 마음에 드는 것을 선택하세요.