현재 실행중인 셸이 bash 또는 zsh인지 확실하게 확인

XDR

현재 실행중인 셸이 bash 또는 zsh인지 확실하게 확인할 수있는 방법은 무엇입니까?

(추가 셸을 명확하게 할 수 있다는 것은 보너스이지만 bash 및 zsh 만 100 % 필요합니다)

이 작업을 수행하는 몇 가지 방법을 보았지만 모두 문제가 있습니다 (아래 참조).

내가 생각할 수있는 최선의 방법은 하나만 작동하는 구문을 실행 한 다음 오류 / 출력을 확인하여 어떤 쉘이 실행 중인지 확인하는 것입니다. 이것이 최상의 솔루션이라면이 테스트에 가장 적합한 명령은 무엇입니까?

가장 간단한 해결책은 모든 셸에 셸을 식별 한 동일한 이름의 읽기 전용 매개 변수가 포함 된 경우입니다. 그러나 이것이 존재한다면 나는 그것을 들어 본 적이 없다.

현재 실행중인 셸을 결정하는 명확하지 않은 방법 :

# default shell, not current shell
basename "${SHELL}"

# current script rather than current shell
basename "${0}"

# BASH_VERSINFO could be defined in any shell, including zsh
if [ -z "${BASH_VERSINFO+x}" ]; then
    echo 'zsh'
else
    echo 'bash'
fi

# executable could have been renamed; ps isn't a builtin
shell_name="$(ps -o comm= -p $$)"
echo "${shell_name##*[[:cntrl:][:punct:][:space:]]}"

# scripts can be sourced / run by any shell regardless of shebang
# shebang parsing
XDR

@ruakh & @oguzismail의 의견으로 작업하면서 해결책이 있다고 생각합니다.

\shopt -u lastpipe 2> /dev/null
shell_name='bash'; : | shell_name='zsh'

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Hyper-V가 현재 활성화 / 실행 중인지 확인하는 방법

분류에서Dev

스레드가 현재 실행 중인지 확인하는 방법

분류에서Dev

셸 실행 프로그램이 실행 중인지 확인

분류에서Dev

Phonegap 앱이 iPad 또는 iPhone에서 실행 중인지 확인

분류에서Dev

현재 실행중인 작업의 상태를 확인하는 방법

분류에서Dev

현재 실행중인 SHELL을 확인하는 방법은 무엇입니까?

분류에서Dev

실행중인 플랫폼이 Bash 스크립트를 사용하여 Ubuntu 또는 CentOS인지 확인하는 방법은 무엇입니까?

분류에서Dev

실행중인 플랫폼이 Bash 스크립트를 사용하여 Ubuntu 또는 CentOS인지 확인하는 방법은 무엇입니까?

분류에서Dev

내 프로그램이 MinGW (또는 MSYS) 셸 또는 CMD에서 실행 중인지 확인하는 방법은 무엇입니까?

분류에서Dev

내 스크립트가 bash 또는 dash로 실행 중인지 어떻게 확인할 수 있습니까?

분류에서Dev

내 스크립트가 bash 또는 dash로 실행 중인지 어떻게 확인할 수 있습니까?

분류에서Dev

Runner가 현재 Job API를 사용하여 작업을 실행 중인지 확인하는 방법

분류에서Dev

현재 앱 프로세스가 Laravel의 대기열 환경에서 실행 중인지 확인하는 방법

분류에서Dev

Azure VM이 실행 중인지 확인

분류에서Dev

bash에서 현재 실행중인 명령 후에 명령을 실행하는 방법은 무엇입니까?

분류에서Dev

현재 재고 커널을 실행하고 있는지 어떻게 확인할 수 있습니까?

분류에서Dev

현재 재고 커널을 실행하고 있는지 어떻게 확인할 수 있습니까?

분류에서Dev

명령이 bash에서 실행되었는지 확인

분류에서Dev

SQLite 날짜 열이 현재 월인지 확인하는 방법

분류에서Dev

현재 셸이 vim에서 사용되고 있는지 어떻게 확인할 수 있습니까?

분류에서Dev

Google Cloud 기능이 dev 또는 prod에서 실행 중인지 확인하는 방법은 무엇입니까?

분류에서Dev

내 라이브 배경 화면이 실행 중인지 확인하는 방법

분류에서Dev

WSO2 API Manager의 현재 실행중인 버전을 확인하는 방법

분류에서Dev

zswap이 실행 중인지 확인하는 방법은 무엇입니까?

분류에서Dev

프로세스가 이미 실행 중인지 확인하는 방법

분류에서Dev

zswap이 실행 중인지 확인하는 방법은 무엇입니까?

분류에서Dev

원격 rsyslog 클라이언트가 실행 중인지 확인하는 방법

분류에서Dev

VIM : 외부 프로그램이 실행 중인지 확인하는 기능

분류에서Dev

VIM : 외부 프로그램이 실행 중인지 확인하는 기능

Related 관련 기사

  1. 1

    Hyper-V가 현재 활성화 / 실행 중인지 확인하는 방법

  2. 2

    스레드가 현재 실행 중인지 확인하는 방법

  3. 3

    셸 실행 프로그램이 실행 중인지 확인

  4. 4

    Phonegap 앱이 iPad 또는 iPhone에서 실행 중인지 확인

  5. 5

    현재 실행중인 작업의 상태를 확인하는 방법

  6. 6

    현재 실행중인 SHELL을 확인하는 방법은 무엇입니까?

  7. 7

    실행중인 플랫폼이 Bash 스크립트를 사용하여 Ubuntu 또는 CentOS인지 확인하는 방법은 무엇입니까?

  8. 8

    실행중인 플랫폼이 Bash 스크립트를 사용하여 Ubuntu 또는 CentOS인지 확인하는 방법은 무엇입니까?

  9. 9

    내 프로그램이 MinGW (또는 MSYS) 셸 또는 CMD에서 실행 중인지 확인하는 방법은 무엇입니까?

  10. 10

    내 스크립트가 bash 또는 dash로 실행 중인지 어떻게 확인할 수 있습니까?

  11. 11

    내 스크립트가 bash 또는 dash로 실행 중인지 어떻게 확인할 수 있습니까?

  12. 12

    Runner가 현재 Job API를 사용하여 작업을 실행 중인지 확인하는 방법

  13. 13

    현재 앱 프로세스가 Laravel의 대기열 환경에서 실행 중인지 확인하는 방법

  14. 14

    Azure VM이 실행 중인지 확인

  15. 15

    bash에서 현재 실행중인 명령 후에 명령을 실행하는 방법은 무엇입니까?

  16. 16

    현재 재고 커널을 실행하고 있는지 어떻게 확인할 수 있습니까?

  17. 17

    현재 재고 커널을 실행하고 있는지 어떻게 확인할 수 있습니까?

  18. 18

    명령이 bash에서 실행되었는지 확인

  19. 19

    SQLite 날짜 열이 현재 월인지 확인하는 방법

  20. 20

    현재 셸이 vim에서 사용되고 있는지 어떻게 확인할 수 있습니까?

  21. 21

    Google Cloud 기능이 dev 또는 prod에서 실행 중인지 확인하는 방법은 무엇입니까?

  22. 22

    내 라이브 배경 화면이 실행 중인지 확인하는 방법

  23. 23

    WSO2 API Manager의 현재 실행중인 버전을 확인하는 방법

  24. 24

    zswap이 실행 중인지 확인하는 방법은 무엇입니까?

  25. 25

    프로세스가 이미 실행 중인지 확인하는 방법

  26. 26

    zswap이 실행 중인지 확인하는 방법은 무엇입니까?

  27. 27

    원격 rsyslog 클라이언트가 실행 중인지 확인하는 방법

  28. 28

    VIM : 외부 프로그램이 실행 중인지 확인하는 기능

  29. 29

    VIM : 외부 프로그램이 실행 중인지 확인하는 기능

뜨겁다태그

보관