쉘 스크립트 내에서 현재 사용자의 기본 쉘을 찾는 방법이 있는지 궁금합니다.
유스 케이스 : 명령의 별명을 설정하는 스크립트를 작성 중이며이 별명은 쉘 스크립트 내에 설정되어 있습니다.
!# /bin/bash
alias = 'some command to set the alias'
스크립트에는 스크립트를 실행하고 해당 ~ / .bashrc 또는 ~ / .zshrc 파일에이 별칭을 추가하는 사용자의 기본 셸을 찾으려고하는 논리가 있습니다.
그러나 스크립트 앞에 shebang을 추가하고 bash를 사용하도록 명시 적으로 요청하면 여기에 게시 된 답변은 ZSH 터미널 에서이 스크립트를 실행하더라도 항상 예상대로 bash를 반환합니다.
shebang 세트에 관계없이 스크립트가 실행되는 쉘 유형을 얻는 방법이 있습니까?
Mac과 모든 Linux 기반 비스트로에서 작동하는 솔루션을 찾고 있습니다.
/etc/passwd
OSX에 무엇이 있습니까? 온라인에서 간단히 살펴본 결과 사용자 이름이 아닌 쉘이있는 것 같습니다. 그래도 사용자 ID는 여전히 있습니다. 왜 사용하지 않습니까?