Bash 스크립트 구문

Bash 스크립트 구문

나는 .sh 스크립트를 만들고 싶습니다.

  1. 라는 Python 파일을 실행합니다 match_scraper.py.
  2. 표시된 대로 psql db를 업데이트합니다.
  3. 실행하려면 괴상한 거미를 불러야 합니다.

.sh 스크립트를 생성할 때 해당 명령을 올바르게 호출하려면 어떻게 해야 합니까? 이것이 내가 생각해낸 것입니다:

#!/bin/bash

~Documents/dota2/dotaapi2/ python match_scraper.py 

psql dota2apidb
update games set online=1 where online is null;

~Documents/dota2/gosugamers/gosugamers/spiders/ scrapy crawl dota

답변1

먼저 각 라인/부분을 확인해야 합니다.스크립트는 쉘(스크립트 외부)에서 작동합니다. 귀하의 것인지 여부는 알 수 없으므로 직접 확인해야 합니다.

그리고 실행하려면python스크립트 경로 앞에 필요한 스크립트

또한:

  • ~은(는) 홈 디렉토리에 대한 바로가기입니다.현재의사용자
  • ~asdf은(는) 홈 디렉토리에 대한 바로가기입니다.asdf사용자
  • ~/DocumentsDocuments은(는) 홈 디렉터리에 있는 폴더 의 경로입니다 .현재의사용자
  • ~Documents의 홈 디렉토리를 찾고 있습니다.예배 규칙서Directory라는 사용자가 없으면 유효하지 않은 사용자

@muru가 지적했듯이 아마도 ~/Documents를 의미했을 것입니다. 따라서 Bash 스크립트는 아마도 다음과 같을 것입니다.

#!/bin/bash

python ~/Documents/dota2/dotaapi2/match_scraper.py 

psql dota2apidb
update games set online=1 where online is null;

python ~/Documents/dota2/gosugamers/gosugamers/spiders/scrapy crawl dota

다시 말하지만, 각 줄이 작동하는지 전혀 모르기 때문에 이것이 작동할지 모르겠습니다. 예를 들어 python ~/Documents/dota2/gosugamers/gosugamers/spiders/scrapy crawl dota명령줄에서 실행하면 실제로 작동합니까?

그리고 나는 모른다하지만 해당 명령을 실행하려면 명령줄 매개변수를 전달해야 할 것 같은데요 update...?

관련 정보