[英]Running Scrapy from bash (shell script)
我已經用Java開發了一個Web應用程序,該應用程序使用Scrapy來獲取一些數據。 為此,我從Java調用了一個shell腳本:
Process p = Runtime.getRuntime().exec("sh myPath/myScript.sh");
p.waitFor();
其中包含
#!/bin/bash
cd mySpiderPath
echo "We are going tu run scrapy"
scrapy crawl mySpider
echo "done!"
運行它之后,兩個“回聲”都被打印,但是刮擦不起作用。 如果我從外殼程序運行myScript.sh,它將運行完美……我很困惑!
我該怎么做才能調試這種奇怪的行為?
編輯
我已經將myScript.sh更改為運行python版本而不是scrapy命令,並且它不起作用...因此,結論是這不是一個“令人毛骨悚然的問題”,而是從Java調用它時的bash腳本問題。 ..有任何想法嗎? (如果我從外殼執行myScript.sh則效果很好)
#!/bin/bash
cd mySpiderPath
echo "We are going tu run scrapy"
python --version
echo "done!"
嘗試更改:
Process p = Runtime.getRuntime().exec("sh myPath/myScript.sh");
至:
Process p = Runtime.getRuntime().exec("bash myPath/myScript.sh");
這可能會使用/bin/bash
而不是/bin/sh
來運行腳本,該腳本通常指向更簡單的shell。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.