Jon*_*vic 1 arrays bash shell scripting
我有一个使用数组的shell脚本.该脚本循环遍历数组的条目,但由于某种原因,第一个和最后一个条目有问题.
数组:
Queue_Names=( CLQueue DLQ ExpiryQueue )
Run Code Online (Sandbox Code Playgroud)
for循环:
for i in “${Queue_Names[@]}”
do
#do stuff
done
Run Code Online (Sandbox Code Playgroud)
我可以在控制台中看到并显示第一个条目显示: CLQueue.最后一个条目显示:ExpiryQueue
我猜这些是了解数组开始和结束的标记.不幸的是,它干扰了脚本的功能.我使用这些队列名称来搜索某些内容,但由于添加了字符而无法找到它.我如何摆脱它们或者我是否做了代码更改以避免这个问题?
“${Queue_Names[@]}”不是"${Queue_Names[@]}",因为“”不是"".
bash中"智能引号"根本不被视为引号; 因此,效果与扩展未加引号相同 - 在数组内容上进行字符串拆分和全局扩展 - 在起始和结束字符周围嫁接文字"引号".
您需要使用真实的引号 - ""不要打开/关闭由某些文字处理软件或公司电子邮件工具创建的"智能引号".
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |