为什么不使用这个bash版本的curl? (永远等待)
url="$1"
uri=($(echo "$url" | sed 's~http://\([^/][^/]*\)\(.*\)~\1 \2~'))
HOST=${uri[0]:=localhost}
FILE=${uri[1]:=/}
exec {SOCKET}<>/dev/tcp/$HOST/80
echo -ne "GET $FILE HTTP/1.1\nHost: $HOST\n" >&${SOCKET}
<&${SOCKET} sed -e '1,/^.$/d'
答案 0 :(得分:1)
已经发现问题:
echo -ne "GET $FILE HTTP/1.1\nHost: $HOST\n\n" >&${SOCKET}
^
| missing one \n
因此,如果有人想在网上获取bash,请不要忘记:最后这里必须是一个空行。