【发布时间】:2014-04-04 19:08:50
【问题描述】:
我了解如何遍历本地文件中的行。但是远程文件呢?
while read NAME
do
echo "$NAME"
done < curl -sL 'http://mylistofnames.com/list.html
如果这是本地的,我会将最后一行替换为 done < names.txt。我被困在遥控器上。
【问题讨论】:
我了解如何遍历本地文件中的行。但是远程文件呢?
while read NAME
do
echo "$NAME"
done < curl -sL 'http://mylistofnames.com/list.html
如果这是本地的,我会将最后一行替换为 done < names.txt。我被困在遥控器上。
【问题讨论】:
将 curl 命令放入bash process substitution:
while read NAME
do
echo "$NAME"
done < <(curl -sL 'http://mylistofnames.com/list.html')
管道也可以工作,但如果在 while 循环中设置了变量,并且在 while 循环范围之外需要它们,那么这个解决方案就变得必要了。
【讨论】:
done < $(curl -sL http://domain.com/list.html)
$。 $(...) 是命令替换。
< 出现了意外的令牌错误,所以我正在试验。无论哪种方式,它都不适合我。
#!/bin/sh,而不是#!/bin/bash。一切都好。再次感谢。
管道输出:
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')
【讨论】:
syntax error near unexpected token
#!/bin/sh,而不是#!/bin/bash。一切都好。再次感谢。