有一个包含路径的数组和一个对其进行排序的循环(沙箱):
paths=(
"~/.config/sublime-text-3/Installed Packages"
~/.config/sublime-text-3/Local
~/.config/sublime-text-3/Packages
)
for path in ${paths[@]}
do
echo ${path}
done
结果:
~/.config/sublime-text-3/已安装
包裹
/home/cg/root/.config/sublime-text-3/Local
/home/cg/root/.config/sublime-text-3/Packages
结果,可以看到路径中的空格有问题,~/.config/sublime-text-3/Installed Packages被Packages感知为数组元素。
如何纠正?
唯一想到的就是逃离空间:
paths=(
~/.config/sublime-text-3/Installed\ Packages
~/.config/sublime-text-3/Local
~/.config/sublime-text-3/Packages
)
但结果是一样的。
PS如果沙盒中的代码不起作用,那么你需要清除cookies;至少我在 Chrome 中遇到了一些问题。
您可以双引号数组替换:
并且在引用单个字符串时,双引号不会干扰(以免遇到按空格划分为子字符串的情况):