期望行为
使用环境变量列出目录中的文档。
重现步骤
INPUT
$ export ICLOUD_D="~/Library/Mobile\ Documents/com~apple~CloudDocs/"
$ source ~/.zshrc
$ echo $ICLOUD_D
$ ls $ICLOUD_D
OUTPUT
$ ~/Library/Mobile\ Documents/com~apple~CloudDocs/
$ ls: ~/Library/Mobile\ Documents/com~apple~CloudDocs/: No such file or directory
当前行为
Shell 给出了一个文件或目录不存在的错误。
修复步骤
如果我直接使用 ls 命令并粘贴文件路径,我就能如预期般列出文件。
我也尝试在环境变量周围加上引号。
$ ls "$ICLOUD_D"
系统信息 - 操作系统: MacOS v 10.15 - Shell: zsh
~
需要取消引用。其余部分可以加引号以避免需要使用\
显式转义任何封闭字符。 - chepner