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 시스템에서 가장 일반적임)을 기반으로 디렉터리 위치를 선택합니다 .