我想創建一個 .sh 腳本,它將
- 執行一個名為 的 python 文件
match_scraper.py
, - 更新 psql 資料庫,如圖所示,
- 調用 scrapy 蜘蛛來執行。
當我建立 .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
首先你需要確保你的每一行/部分巴什腳本在 shell 中工作(在腳本之外)。我不知道你的是否會,所以你必須自己檢查一下。
並執行一個Python您需要的腳本python
位於腳本路徑之前
也:
~
是主目錄的捷徑目前的使用者~asdf
是主目錄的捷徑阿斯達夫使用者~/Documents
Documents
是主目錄中資料夾的路徑目前的使用者~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
當您在命令列上運行它時,它實際上有效嗎?
我不知道sql但我懷疑您需要向它傳遞一些命令列參數才能讓它運行該update...
命令?