Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何使用cURL遍历shell中远程文件的行?_Bash_Shell_Curl - Fatal编程技术网

Bash 如何使用cURL遍历shell中远程文件的行?

Bash 如何使用cURL遍历shell中远程文件的行?,bash,shell,curl,Bash,Shell,Curl,我了解如何遍历本地文件中的行。但是远程文件呢 while read NAME do echo "$NAME" done < curl -sL 'http://mylistofnames.com/list.html 读取名称时 做 回显“$NAME” 完成

我了解如何遍历本地文件中的行。但是远程文件呢

while read NAME
do
    echo "$NAME"
done < curl -sL 'http://mylistofnames.com/list.html
读取名称时
做
回显“$NAME”
完成
如果这是本地的,我会用
done
替换最后一行。我卡在遥控器上。

管道输出:

curl -sL 'http://mylistofnames.com/list.html' | while read NAME
    do echo "$NAME"
done
使用过程替代:

while read NAME
    do echo "$NAME"
done < <(curl -sL 'http://mylistofnames.com/list.html')
读取名称时
不回显“$NAME”
完成<将curl命令放在:

读取名称时
做
回显“$NAME”

你能帮我检查一下你的语法吗?管道确实起作用了,但我想在循环外部访问循环内设置的变量。在我尝试的变体中,不断出现意外的令牌错误。最新尝试:
done<$(curl-sLhttp://domain.com/list.html)
@Ryan在流程替换之前,您还有一个额外的
$
<代码>$(…)
是命令替换。我知道,我在
Doh中遇到了意外的令牌错误!我有
#/bin/sh
位于顶部,而不是
#/bin/bash
。一切都好。再次感谢。管道工作正常。谢谢虽然我现在希望让流程替换工作起来,这样我就可以访问循环外部的变量。添加了流程替换版本Interesting。这就是正确的语法。但是我在意外标记附近不断发现
语法错误
您正在运行哪个版本的bash?它可能没有进程替换。Doh!我有
#/bin/sh
位于顶部,而不是
#/bin/bash
。一切都好。再次感谢。
while read NAME
do
    echo "$NAME"
done < <(curl -sL 'http://mylistofnames.com/list.html')