我试图让这个 while 循环(使用 nano)从此 URL 下载一些网站,但我不断收到错误“意外令牌‘完成’附近的语法错误”:
while read <FIRST-LAST> do
echo FIRST-LAST
curl -O https://www.uoguelph.ca/arts/history/people/FIRST-LAST
done < formatted_history.txt
答案1
- 要么
do
应该出现在新行上,要么需要在其前面插入分号 <FIRST-LAST>
实际上应该是 shell 变量的名称,并且FIRST-LAST
应该是对该变量的引用。<
和>
不是 shell 变量的合法字符,因此我们可以推断这里必须用其他字符代替。person
在这种特殊情况下,似乎是一个很好的变量名。
我认为这样的事情应该效果更好:
while read person ; do
echo "${person}"
curl -O "https://www.uoguelph.ca/arts/history/people/${person}"
done < formatted_history.txt
这假设该文件formatted_history.txt
实际上存在于当前目录中,并且是来自https://www.uoguelph.ca/arts/history/people/页面 - 类似于:
tara-abraham
donna-andrew
susan-armstrong-reid
... etc ...