bash
sh
좋습니다. , , 등을 사용하여 쉘 스크립트를 작성할 수 있습니다 . zsh
다음과 같이 파일 상단에 해시뱅을 넣을 수 있습니다.
#!/usr/bin/env bash
이는 파일을 실행하는 데 사용할 인터프리터를 커널에 알려줍니다.
그러나 나는 명령줄에서 어떤 인터프리터를 사용할 것인지 기계에 지시하는 방법을 모른다는 것을 방금 깨달았습니다.
예를 들어, 다음과 같이 쓴다면:
$ foo bar baz
명령줄에서 명령을 해석하는 데 어떤 해석기가 사용되고 있는지 어떻게 알 수 있나요? 특정 인터프리터를 사용하도록 컴퓨터에 어떻게 지시합니까?
질문이 명확해지기를 바랍니다.
답변1
의도적으로 다른 쉘을 선택하지 않는 한 현재 실행 중인 쉘일 가능성이 가장 높은 로그인 쉘을 얻으십시오(예를 들어 터미널 에뮬레이터의 환경 설정에서 로그인 쉘이 아닌 다른 쉘을 선택하거나 로그인 시 쉘을 명시적으로 호출하여). 예를 들어 ssh remote-host /path/to/shell
)를 사용하면 다음과 같습니다.
echo $SHELL
다른 셸을 사용하려면 다음 안내를 따르세요.
exec /path/to/shell
예를 들어:
exec /bin/bash