2016-09-29 60 views
0

我有一个包含各行看起来像短链接的文件:“http://short.ly/1Typn4Cbash脚本获取完整的URL列表从短网址的文件

我能够遵守所有重定向和写入最终完整的URL到文件使用此curl命令:

curl -Ls -o /dev/null -w %{url_effective} http://short.ly/1Typn4C | xargs echo >> ./full_urls.txt 

当通过使用相同的命令文件中的每一行,它只是结束了写原来的短网址的文件循环:

while read line 
do 
    finalLink="$(curl -Ls -o /dev/null -w %{url_effective} "$line")" 
    echo "$finalLink" >> ./full_urls.txt 
done < ./short_urls.txt 

显然我误解了shell脚本的工作方式。

回答

1

适用于我,因为它应该。

$ echo 'https://youtu.be/dQw4w9WgXcQ' >./short_urls.txt 

$ while read line 
> do 
> finalLink="$(curl -Ls -o /dev/null -w %{url_effective} "$line")" 
> echo "$finalLink" >> ./full_urls.txt 
> done < ./short_urls.txt 

$ cat ./full_urls.txt 
https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtu.be