Node JS bash 명령에서 이 디렉터리는 무엇입니까?

Node JS bash 명령에서 이 디렉터리는 무엇입니까?

NodeJS 페이지를 읽다가 우연히 다음 bash 명령을 발견했습니다.

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

이것:

  • 시험비어 있고 ${XDG_CONFIG_HOME-}홈 디렉토리를 인쇄합니다.또는나머지는 인쇄하세요
  • 결과 내보내기
  • 디렉토리에서 스크립트 실행

왜 인지 이해가 안 돼요 ${XDG_CONFIG_HOME-}?

또한 $(...)가 여기서 무엇을 하고 있는지 잘 모르겠습니다. 인쇄나 에코만으로 충분하지 않을까요?

답변1

XDG_CONFIG_HOME프로그램이 구성 파일을 저장해야 하는 디렉터리로 확장되는 환경 변수입니다. 기본적으로 이 디렉터리는 .config홈 디렉터리에 있습니다 . 그래서 내 경우에는 /home/john/.config.

질문하신 명령은 이 환경 변수가 설정되어 있는지 확인하는 것 같습니다. 설정된 경우 NVM_DIR로 설정됩니다 ${XDG_CONFIG_HOME}/nvm. 그렇지 않으면( XDG_CONFIG_HOME설정되지 않은 경우) 설정 NVM_DIR됩니다 ${HOME}/.nvm. ${HOME}홈 디렉토리로 확장하면 됩니다.

나는 이것이 NVM_DIR프로그램이 구성(또는 기타) 데이터를 저장할 디렉토리라고 생각합니다. 명령의 첫 번째 줄은 if XDG_CONFIG_HOME설정(내가 아는 한 최신 Linux 시스템에서 가장 일반적임)을 기반으로 디렉터리 위치를 선택합니다 .

관련 정보