명령줄에서 사용할 통역사 지정

명령줄에서 사용할 통역사 지정

bashsh좋습니다. , , 등을 사용하여 쉘 스크립트를 작성할 수 있습니다 . zsh다음과 같이 파일 상단에 해시뱅을 넣을 수 있습니다.

#!/usr/bin/env bash

이는 파일을 실행하는 데 사용할 인터프리터를 커널에 알려줍니다.

그러나 나는 명령줄에서 어떤 인터프리터를 사용할 것인지 기계에 지시하는 방법을 모른다는 것을 방금 깨달았습니다.

예를 들어, 다음과 같이 쓴다면:

$ foo bar baz

명령줄에서 명령을 해석하는 데 어떤 해석기가 사용되고 있는지 어떻게 알 수 있나요? 특정 인터프리터를 사용하도록 컴퓨터에 어떻게 지시합니까?

질문이 명확해지기를 바랍니다.

답변1

의도적으로 다른 쉘을 선택하지 않는 한 현재 실행 중인 쉘일 가능성이 가장 높은 로그인 쉘을 얻으십시오(예를 들어 터미널 에뮬레이터의 환경 설정에서 로그인 쉘이 아닌 다른 쉘을 선택하거나 로그인 시 쉘을 명시적으로 호출하여). 예를 들어 ssh remote-host /path/to/shell)를 사용하면 다음과 같습니다.

echo $SHELL

다른 셸을 사용하려면 다음 안내를 따르세요.

exec /path/to/shell

예를 들어:

exec /bin/bash

관련 정보