首页 > 解决方案 > zsh 无法识别环境变量 - 没有这样的文件或目录 - Unix - MacOs

问题描述

预期行为

使用环境变量列出目录中的文档。

重现步骤

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 - 外壳:zsh

标签: macoszsh

解决方案


不要在环境变量周围加上引号

输入

$ export ICLOUD_D=~/Library/Mobile\ Documents/com~apple~CloudDocs/
$ source ~/.zshrc
$ echo $ICLOUD_D
$ ls $ICLOUD_D

输出

$ ~/Library/Mobile\ Documents/com~apple~CloudDocs/
$ afile
$ bfile
$ ...

推荐阅读