下面的shell脚本在遇到空格时会引入换行符。
countries = "Brazil Russia India"
printf "Countries are %s" $countries
输出如下:
Countries are Brazil
Countries are Russia
Countries are India
相反它应该是
Countries are Brazil Russia India
有没有办法克服这种行为?
答案 0 :(得分:4)
引用变量使其成为单个参数。
cacheConfig
一般情况下,除非您有特殊原因,否则总是引用您的变量。
答案 1 :(得分:1)
尝试使用此代码来解决您的问题。要理解为什么Bash的行为方式,请阅读this answer.中的解释。要点是,带有空格(或其他特殊字符)的不带引号的变量不会表现为整个字符串。所以要小心。
#!/usr/bin/env bash
countries="Brazil Russia India"
printf "Countries are %s" "${countries}"