保留变量值的空间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了保留变量值的空间相关的知识,希望对你有一定的参考价值。

当在变量的值中使用sapce时,我总是以某种方式很难理解该值。代码如下:

#!/bin/bash

CURL="-H 'Accept: application/json' -s -S"

curl $CURL https://api.github.com/feeds

bash -x执行此操作将导致:

+ CURL='-H '\''Accept: application/json'\'' -s -S'
+ curl -H ''\''Accept:' 'application/json'\''' -s -S https://api.github.com/feeds
curl: (6) Couldn't resolve host 'application'

Btw我知道空间不是必须的,这只是一个例子。解决此问题的一种方法是将空间编码为\x20,如

#!/bin/bash

CURL="-H Accept:\x20application/json"

curl $CURL https://api.github.com/feeds

此作品

+ CURL='-H Accept:\x20application/json'
+ curl -H 'Accept:\x20application/json' https://api.github.com/feeds

但是我发现此解决方案可读性不强。

还有另一种在变量的值中引用空格的方式,因此空格会保留下来,并且字符串(值)易于阅读?

答案
这是数组的用途:存储无法轻易嵌入或从单个字符串中提取的值的序列。

curl_opts=(-H "Accept: application/json") curl "$curl_opts[@]" https:/api.github.com/feeds

以上是关于保留变量值的空间的主要内容,如果未能解决你的问题,请参考以下文章

在并行运行 2 个或更多任务时保留变量值

保留来自 dataReader c# 的 int 变量值

matlab 如何保留变量值

如何在后续推送通知中保留通知服务扩展中的变量值

如何在js中设定变量值到小数点后两位?

如何清理 C 盘空间