Bash 脚本语法

Bash 脚本语法

我想创建一个 .sh 脚本,它将

  1. 执行一个名为的python文件match_scraper.py
  2. 更新 psql db,如下所示,
  3. 调用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 中工作(在脚本之外)。我无法确定您的脚本是否能工作,因此您必须自己检查。

并执行python在脚本路径之前需要的脚本

还:

  • ~当前的用户
  • ~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...命令?

相关内容