我正在尝试使用curl和awk获取下载URL,然后想要向该URL附加内容.
这里有一些我的代码:
IMAGE=$(curl -I -s https://downloads.raspBerrypi.org/raspbian_lite_latest | awk '/Location/ {print $2}') CHECKSUM="$IMAGE.sha256" echo $IMAGE echo $CHECKSUM
我得到的是它在某种程度上在一开始就替换零件.
https://downloads.raspBerrypi.org/raspbian_lite/images/raspbian_lite-2018-11-15/2018-11-13-raspbian-stretch-lite.zip .sha256/downloads.raspBerrypi.org/raspbian_lite/images/raspbian_lite-2018-11-15/2018-11-13-raspbian-stretch-lite.zip
我有点无奈,因为以下工作符合预期:
A="https""://abc.org/a_b/a.zip" # looks weird,but full URLs are not allowed here B="$A.sha256" echo $B
我究竟做错了什么?
解决方法
当你对你的字符串进行hexdump时,你会看到它使用了windows line endings(带回车符):
echo $IMAGE | hexdump -C 00000000 68 74 74 70 73 3a 2f 2f 64 6f 77 6e 6c 6f 61 64 |https://download| 00000010 73 2e 72 61 73 70 62 65 72 72 79 70 69 2e 6f 72 |s.raspBerrypi.or| 00000020 67 2f 72 61 73 70 62 69 61 6e 5f 6c 69 74 65 2f |g/raspbian_lite/| 00000030 69 6d 61 67 65 73 2f 72 61 73 70 62 69 61 6e 5f |images/raspbian_| 00000040 6c 69 74 65 2d 32 30 31 38 2d 31 31 2d 31 35 2f |lite-2018-11-15/| 00000050 32 30 31 38 2d 31 31 2d 31 33 2d 72 61 73 70 62 |2018-11-13-raspb| 00000060 69 61 6e 2d 73 74 72 65 74 63 68 2d 6c 69 74 65 |ian-stretch-lite| 00000070 2e 7a 69 70 0d 0a |.zip..| 00000076
要解决这个问题,请使用
IMAGE=$(curl -I -s https://downloads.raspBerrypi.org/raspbian_lite_latest | awk '/Location/ {print $2}' | tr -d "\r")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。