.shスクリプトを作成したいと思っています。
- というPythonファイルを実行します
match_scraper.py
。 - 次のようにpsql dbを更新します。
- スクレイピースパイダーを呼び出して実行します。
.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
ホームディレクトリへのショートカットです空自ユーザー~/Documents
Documents
ホームディレクトリ内のフォルダへのパスです現在ユーザー~Documents
ホームディレクトリを探していますディレクトリディレクトリというユーザーがいない限り、無効なユーザーです
@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
コマンド ラインで実行すると実際に機能しますか?
そして私は知らないpsqlupdate...
しかし、そのコマンドを実行するには、何らかのコマンド ライン パラメータを渡す必要があると思われます。