bash - 附加到bash中的字符串
问题描述
我正在尝试使用并希望在之后向该 URL 附加一些内容来获取下载curl
URL awk
。
这里有一些我的代码片段:
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 行结尾(带回车):
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")
推荐阅读
- javascript - json文件中的所有类型电话号码正则表达式并使用角度6
- java - Clojure:从 ArrayMap 到 HashMap 的转换
- python - 如何使用 Django 在任务和视图之间共享缓存?
- sql - SQL Server 制作组
- perl - 如何在 Perl 中 x 秒后创建中断?
- c# - 如何更改 label.text 使用 Task.Run()
- javascript - ie11 上的 sl-vue-tree + vue-cli3.1
- python - 熊猫是否可以自动识别标题是否存在
- python - 对 pandas 中的多个 .csv 文件应用相同的操作
- dart - 在颤振中解析复杂的 JSON 并输入“Future”
' 不是类型 'Future 的子类型 '