我不知道在使用 zsh j:string:数组扩展序列时如何转义冒号。
在我的 ~/.zshrc 中,我发现将 PATH 构建为数组是令人愉快的。
path_array=(
/sbin
/usr/sbin
$HOME/brew/bin
/bin
/usr/bin
/usr/local/bin
/opt/X11/bin
)
#https://unix.stackexchange.com/questions/23208/building-paths-robustly/23241#23241
#export PATH=${(j:::)path_array}
Run Code Online (Sandbox Code Playgroud)
有很多关于如何在其他字符上连接数组的示例,但不幸的是我看不到如何转义字符“:”,因此我可以按此顺序使用它。
结果是:zsh: error in flags
使用另一个字符('|')它工作正常
echo ${(j:|:)path_array}
/sbin|/usr/sbin|/Users/mf/brew/bin|/bin|/usr/bin|/usr/local/bin|/opt/X11/bin
Run Code Online (Sandbox Code Playgroud) zsh ×1