Bash url中的cURL变量 getcode=$(curl)http://www.fromsomewhere.com/?xxxxx=1)(来自返回数值的API。例如5555) echo$getcode#5555(能够获取#5555) 卷曲“http://www.fromsomewhere.com/?qs=$getcode&qss=1&qqq=123“

Bash url中的cURL变量 getcode=$(curl)http://www.fromsomewhere.com/?xxxxx=1)(来自返回数值的API。例如5555) echo$getcode#5555(能够获取#5555) 卷曲“http://www.fromsomewhere.com/?qs=$getcode&qss=1&qqq=123“,bash,shell,Bash,Shell,我真的不能这样做,因为我发现url看起来很像 echo”http://www.fromsomewhere.com/?qs=$getcode&qs.condition=1&qqq=123“ 输出为:&qs.condition=1&qqq=123e.com/?qs=555 它将替换urlhttp://...... 正确打印url的正确解决方案是什么 ”http://www.fromsomewhere.com/?qs=5555&qs.condition=1&qqq=123“ 奇怪的 如果我有 htt

我真的不能这样做,因为我发现url看起来很像

echo”http://www.fromsomewhere.com/?qs=$getcode&qs.condition=1&qqq=123“
输出为:
&qs.condition=1&qqq=123e.com/?qs=555
它将替换url
http://......

正确打印url的正确解决方案是什么
”http://www.fromsomewhere.com/?qs=5555&qs.condition=1&qqq=123“

奇怪的 如果我有

http://www.fromsomewhere.com/?qs=$getcode
url看起来不错

但是,当我添加
&
http://www.fromsomewhere.com/?qs=$getcode和qs.条件…


然后它看起来又错了

我敢肯定,在第一个curl调用的末尾,您会得到一个
\r
。 见示例:

$ printf -v getcode '5555\r'
$ echo "http://www.fromsomewhere.com/?qs=$getcode&qs.condition=1&qqq=123"
&qs.condition=1&qqq=123e.com/?qs=5555

正是您拥有的输出。

您是从bash脚本还是从shell运行此脚本?@naimdjon我是从bash脚本运行的。您可以粘贴整个脚本吗?我已经尝试了此脚本,它按预期工作:
getcode=$(curlhttp://localhost:8000/foo.txt?xxxxx=1)echo$getcode#5555 echo“http://www.fromsomewhere.com/?qs=$getcode&qss=1&qqq=123“
谢谢@naimdjon这差不多就是全部了
curl
从API获取代码。e、 g get
5555
然后希望在另一个curl中使用该变量。可能API返回值有问题。。。将重复检查解决方案是将
$getcode
替换为
${getcode%$'\r'}
@tripleee Yes!现在工作!非常感谢。