【问题标题】:zsh is not Recognizing an Environmental Variable - No such File or Directory - Unix - MacOszsh 无法识别环境变量 - 没有这样的文件或目录 - Unix - MacOs
【发布时间】:2020-05-07 17:49:55
【问题描述】:

预期行为

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

复制步骤

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

【问题讨论】:

    标签: macos zsh


    【解决方案1】:

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

    输入

    $ 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
    $ ...
    

    【讨论】:

    • 只有最初的 ~ 必须不加引号。其余的可以用引号括起来,以避免需要用 ``. 显式转义任何封闭的字符
    猜你喜欢
    • 2020-10-28
    • 2018-12-18
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 2019-12-11
    • 2018-09-17
    • 2020-07-08
    • 1970-01-01
    相关资源
    最近更新 更多