Bash: 파일 "테스트"는 발견되었지만 "소스"는 발견되지 않았습니다.

Bash: 파일 "테스트"는 발견되었지만 "소스"는 발견되지 않았습니다.

나는 사용한다가상 환경 래퍼내 Python 환경을 관리합니다. 내 전역 postactivate파일(가상 환경을 활성화한 후 얻은 Bash 스크립트)에는 다음 내용이 포함되어 있습니다.

if [ -f 'activate.sh' ]; then
  echo 'activate virtualenv settings'
  source 'activate.sh'
fi

activate.sh이 파일은 가상 환경에 연결된 프로젝트에 해당 파일이 포함된 경우에만 얻어야 합니다. 그러나 workon해당 파일이 포함된 프로젝트에서 명령을 사용하면 다음과 같은 출력과 오류가 발생합니다.

activate virtualenv settings
/home/…/.virtualenvs/postactivate: Zeile 15: source: activate.sh: Datei nicht gefunden.

따라서 테스트에서는 activate.sh파일을 찾은 것처럼 보이지만 15행(즉 source activate.sh, 오류가 다음으로 변환되는 행) 에 오류가 발생합니다.파일을 찾을 수 없습니다). 왜?

답변1

POSIX 적합성 모드(예: as가 호출되거나 is가 환경에 있는 sh경우 )에 있을 때 인수에 슬래시 문자가 포함되어 있지 않으면 대신 POSIX require 유틸리티(s와 동등한 표준)처럼 검색됩니다POSIXLY_CORRECTsourcebash$PATH.bashsource

스크립트 인 경우 다음을 sh수행해야 합니다.

  1. /standard 가 아닌 ., not 을 사용하세요 .sourcesh
  2. 현재 디렉토리에 들어가려는 경우 . ./file찾기에서 찾은 첫 번째 항목을 가져오는 대신 사용하십시오.file. filefile$PATH

관련 정보