0

私のbashスクリプトは次のとおりです。

output=$(curl -s http://www.espncricinfo.com/england-v-south-africa-2012/engine/current/match/534225.html | sed -nr 's/.*<title>(.*?)<\/title>.*/\1/p')

score=echo"$output" | awk '{print $1}'
echo $score

上記のスクリプトnewlineはコンソールに a のみを出力しますが、必要な出力は

$ curl -s http://www.espncricinfo.com/england-v-south-africa-2012/engine/current/match/534225.html | sed -nr 's/.*<title>(.*
?)<\/title>.*/\1/p' | awk '{print $1}'

SA

echo"$output"では、間違った方法で使用しているターミナルでは正常に動作するのに、なぜ bash スクリプトから出力が得られないのでしょうか。

4

1 に答える 1

2
#!/bin/bash

output=$(curl -s http://www.espncricinfo.com/england-v-south-africa-2012/engine/current/match/534225.html | sed -nr 's/.*<title>(.*?)<\/title>.*/\1/p')
score=$( echo "$output" | awk '{ print $1 }' )

echo "$score"

構文が間違っているため、スコア変数はおそらく空でした。

于 2012-07-21T08:21:48.147 に答える