我有以下调用 scrapy 的 shell 脚本
#!/bin/bash
export PATH=usr/local/bin/scrapy:$PATH
scrapy crawl flipkart -a key="$1" -o "$2"flipkart.xml
scrapy crawl myntra -a key="$1" -o "$2"myntra.xml
scrapy crawl jabong -a key="$1" -o "$2"jabong.xml
echo $PATH
在调用此脚本文件的java程序中,错误流显示 scrapy: command not find
我在 bash_profile 文件中添加了 scrapy 路径,并在执行 PATH 时得到结果
renny$ echo $PATH
/usr/local/bin/scrapy:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
我正在使用以下代码运行脚本文件
String command = "/Users/renny/Documents/WorkSpaces/Scrapy/tutorial/tutorial/crawls.sh";
String[] cmd = new String[]{"/bin/sh", command,key,formattedDate};
//Process p = Runtime.getRuntime().exec(cmd);
ProcessBuilder p = new ProcessBuilder(cmd);
Process p2 = p.start();
int code = p2.waitFor();
直接执行shell脚本就可以了。
最佳答案
您的“PATH”声明中缺少正斜杠,路径应该是目录,而不是程序
你有
export PATH=usr/local/bin/scrapy:$PATH
应该是
export PATH=/usr/local/bin:$PATH
关于java - 从 java 调用时 shell 脚本中的 Scrapy 命令不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30464131/