2017-01-31 1 views
0

그래서 run.sh 파일을 실행해야하며 Windows 기본값으로 CMD을 사용할 수 없습니다. 그래서 내가 터미널Cygwin64를 설치하고이 acctualy 파일을 읽지 만 독서의 끝에서, 그것은 오류가 스팸 메일 :Bash 스크립트 : 해당 파일이나 디렉토리가 없습니다.

$ /cygdrive/c/Python27/Scripts/./run.sh 
Starting scraper 
Scrape complete, checking movies with imdb 
C:\python27\python.exe: can't open file 'check_imdb.py': [Errno 2] No such file or directory 

run.sh 내부 :

#!/bin/bash 
echo "Starting scraper" 
scrapy runspider cinema_scraper.py -t json --nolog -o - > "movies.json" 
echo "Scrape complete, checking movies with imdb" 
python check_imdb.py movies.json 

check_imdb을 .py는 run.sh 폴더 안에 있습니다.

답변

2

파일은 스크립트 내에서 상대 경로로 참조됩니다.

pwd 

경로로 시작 : 그것은 전체 경로 (/로 시작하는)을 지정하지 않고, 당신이 찾을 수있는 현재 디렉토리에 상대적으로 해석된다

python check_imdb.py movies.json 

상대 수단 /은 절대라고합니다.

중요한 것은 스크립트가 저장되어있는 디렉토리가 아니라 현재 디렉토리와 관련된 경로를 해석한다는 것입니다.

당신은 함께 그것을 실행하기 전에 스크립트의 디렉토리로 변경 수 :

cd /cygdrive/c/Python27/Scripts 

하지만 그렇게 할 경우, 당신은 당신 movies.json 파일에 명령 줄에서 절대 경로를 제공해야합니다.

python /cygdrive/c/Python27/Scripts/check_imdb.py movies.json 
:

더 나은 아직, 절대 경로를 가지고 스크립트를 수정

관련 문제