Синтаксис 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
0
задан 2 May 2016 в 22:03

1 ответ

Сначала необходимо удостовериться каждая строка/часть в Вашем работа сценария в оболочке (за пределами сценария). Я не могу сказать, если Ваш желание, таким образом, необходимо будет проверить что сами.

И выполниться Вам нужно python ПЕРЕД путем к сценарию

Также:

  • ~ ярлык на корневой каталог текущий , пользователь
  • ~asdf является ярлыком на корневой каталог для , пользователь asdf
  • ~/Documents является путем к Documents папка в корневом каталоге текущий , пользователь
  • ~Documents ищет корневой каталог пользователь Каталога , который недействителен, если у Вас нет пользователя под названием Каталог

Как @muru указанный, Вы, вероятно, имели в виду ~ / Документы. Таким образом, Ваш сценарий удара, вероятно, выглядел бы примерно так

#!/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... команда?

0
ответ дан 3 May 2016 в 08:03

Другие вопросы по тегам:

Похожие вопросы: