我编写了一个小型Ruby脚本,用于输出用户选择的URL。我想将此URL嵌套到我的Bash脚本中,以便它直接提供给wget部分,而不是强制用户复制和粘贴链接。目前的代码如下:
>echo "Choose file to download"
>./myscript.rb #
>echo "Copy and Paste URL"
>read answer
>wget -O /myfile.zip "$answer"
任何有关制作此内容的帮助都将受到赞赏。
编辑:
>"Choose file to download"
>18 obfuscated1.zip 891 Thu, 18 Apr 2013 16:13:05 GMT
>19 obfuscated2.zip 892 Fri, 19 Apr 2013 16:13:53 GMT
>20 obfuscated3.zip 893 Sat, 20 Apr 2013 16:13:16 GMT
>20
>http://s3-us.amazonaws.com/obfuscated3.zip/AWSAccessKeyId=/Expires=/Signature=
URL在输出中被标记化,并在此处缩写,原因很明显。
答案 0 :(得分:2)
您可以使用命令替换来执行此操作:
answer=$(./myscript.rb)
wget -O /myfile.zip "$answer"
<强>更新强>
我没有考虑过你的脚本产生的输出不是你感兴趣的URL。
鉴于你可以,至少:
修改myscript.rb
以在标准输出上发出URL,并在标准错误上发出其他消息。然后你应该可以使用上面的解决方案。
使用system
Ruby方法在wget
内运行myscript.rb
,如下所示:
# the url variable holds the URL chosen by the user
system("wget -O /myfile.zip #{url}")