2013-06-27 26 views
0

我认为这个问题很简单,但我刚开始使用shell脚本。用于获取csv与卷曲的shell脚本

我有这个至今:

#!/bin/bash 

new_url=$(python get_url.py) 
echo $new_url 
curl -o mycsv_file.csv $new_url 

而且它不工作(不产生对当前目录下的文件mycsv_file.csv)。我得到一个new_url与python脚本,这是工作,因为当我做echo它打印我想要的网址。

一般来说,如果我做的:

curl -o mycsv_file.csv "exampleurl.com/file_example.csv" 

从控制台,它的伟大工程,它创建于当前目录中mycsv_file.csv,但我不知道什么是与外壳脚本的问题。也许这是对URL的"" curl的一些问题,但我也尝试将""附加到new_url变量,它是相同的。

有什么建议吗?

+0

尝试'curl -o mycsv_file.csv $(python get_url.py)' – devnull

+0

不工作,它的工作原理是一样的。 – eLRuLL

+0

它说*是什么*? – devnull

回答

0

的问题是,Python脚本中添加一个新行字符串的结尾,所以卷曲经(末尾新行)检查不同的URL。

+0

'curl -o mycsv_file.csv $ new_url' - >'$ new_url没有引号'最后应该删除任何换行符。对? – anishsane

0

试试这个:

curl -o mycsv_file.csv "$new_url" 
+0

我试过了,它不起作用。它显示curl尝试连接某处,但不创建'mycsv_file.csv'文件 – eLRuLL

+1

尝试不使用-o这样卷曲打印即可 - 只是为了确保它实际上是从服务器获取数据。 – GregHNZ

+0

它没有显示任何内容,我认为问题是'''',但如何改变'new_url'变量的正确方法 – eLRuLL