簡體   English   中英

從bash運行Scrapy(shell腳本)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM