어떤
. some_script
또는
source some_script
some_script
절대 경로를 결정하는 방법현재의.
쉘(즉, 또는 명령을 실행하는 쉘 source
)? (일반적으로 이 경로는 의 값과 다릅니다 $SHELL
.)
즉, 내가 찾고 있는 "절대 경로" 대응물입니다 $$
. 현재 쉘 프로세스가 실행 파일의 소스를 알아야 한다고 생각했는데 AFAICT, 환경 변수에 저장되어 있지 않습니다.
내가 생각할 수 있는 최선의 방법은 ps -p $$
생성된 출력의 적절한 변형을 잡는 것입니다. 예를 들어:
CURRENT_SHELL=${"$( PS_FORMAT=cmd PS_PERSONALITY=linux ps -p $$ -h )"% *}
이것은 이식성이 좋지 않을 수 있습니다. (그리고 그것은 추악하다.)
나는 현재 쉘이 무엇인지에 주로 관심이 있습니다 zsh
. (해당 답변에 이차적 관심이 있습니다 bash
.)
답변1
이것이 내가 사용하는 것입니다:
head -n 1 /proc/$$/status | cut -f2
모든 Unices에 이식 가능한지는 잘 모르겠지만 Linux와 Cygwin에서는 작동합니다.