중복 가능성:
터미널에서 사용 중인 셸을 어떻게 테스트하나요?
쉘 스크립트가 어떤 인터프리터를 사용하고 있는지 감지하고 싶습니다. 예를 들어 다음 스크립트는 다음과 같습니다.
#!/bin/bash
issue_interpreter_name()
통역사에게 다음 사항을 공개해야 합니다.
bash
답변1
#!/bin/sh
ps h -p $$ -o args='' | cut -f1 -d' '
ps
프로세스 목록h
열 헤더를 인쇄하지 않음-p <PID>
프로세스 ID PID만 나열$$
현재 PID를 사용하는 쉘로 대체됨-o args
다른 정보 없이 명령줄 인쇄cut
출력을 여러 부분으로 분할-f1
첫 번째 필드만 인쇄-d' '
공백을 필드 구분 기호로 사용$ ./testje
/bin/sh
답변2
로컬 사용자인 경우 /etc/passwd의 7번째 필드가 쉘입니다. 현재 사용 가능한 쉘을 찾고 계십니까?