我想创建一个 .sh 脚本,它将
- 执行一个名为的python文件
match_scraper.py
, - 更新 psql db,如下所示,
- 调用scrapy spider来执行。
当我创建 .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 中工作(在脚本之外)。我无法确定您的脚本是否能工作,因此您必须自己检查。
并执行Pythonpython
在脚本路径之前需要的脚本
还:
~
是当前的用户~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
在命令行上运行它时是否真的有效?
我不知道查询语言但我怀疑您需要传递一些命令行参数才能让它运行该update...
命令?