如何在shell脚本中使用curl?

时间:2011-11-29 22:30:30

标签: linux bash ubuntu curl sh

我正在尝试运行此shell脚本,以便在Ubuntu框中安装RVM

#!/bin/bash
RVMHTTP="https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer"
CURLARGS="-f -s -S -k"

bash < <(curl $CURLARGS $RVMHTTP)

但是我收到以下错误

  

语法错误:重定向意外

同样测试不使用变量,但结果相同,你能说出我错过了吗?

3 个答案:

答案 0 :(得分:17)

#!/bin/bash                                                                                                                                                                                     
CURL='/usr/bin/curl'
RVMHTTP="https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer"
CURLARGS="-f -s -S -k"

# you can store the result in a variable
raw="$($CURL $CURLARGS $RVMHTTP)"

# or you can redirect it into a file:
$CURL $CURLARGS $RVMHTTP > /tmp/rvm-installer

或:

Execute bash script from URL

答案 1 :(得分:4)

首先,您的示例看起来非常正确并且在我的计算机上运行良好。你可以采取另一种方式。

curl $CURLARGS $RVMHTTP > ./install.sh

现在所有输出都存储在./install.sh文件中,您可以编辑和执行该文件。

答案 2 :(得分:4)

url=”http://shahkrunalm.wordpress.com“
content=”$(curl -sLI “$url” | grep HTTP/1.1 | tail -1 | awk {‘print $2′})”
if [ ! -z $content ] && [ $content -eq 200 ]
then
echo “valid url”
else
echo “invalid url”
fi