macos - source .zshrc 中的文件未找到该文件
问题描述
我在 Catalina 上使用 zsh,我在采购 .zshrc 文件中的路径中有一个空格的文件时遇到了一些问题(如果这是正确的术语,我不知道)。基本上我想要实现的是在 iCloud 中有我的个人 zsh 设置,以便它在我的所有计算机之间同步。我无法更改的 iCloud 目录路径中有一个空格。
~/Library/Mobile Documents/com~apple~CloudDocs/
当我尝试时,逃避白色空间不起作用。
file='~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh'
source $file
结果是:
.zshrc:source:29: no such file or directory: ~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh
当我手动执行时它工作正常:
source ~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh
关于如何解决这个问题的任何想法,或者我回到手动加载我的文件?
解决方案
引用正在毁掉你的一天,而超出的空间也没有多大意义,因为无论如何你都在引用整个内容:
file='~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh'
这意味着您需要一个名为 的目录~
。
你可以把它写成
file=~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh
这将用您的主目录替换波浪号。我个人会使用双引号并将其写为:
file="$HOME/Library/Mobile Documents/com~apple~CloudDocs/file.sh"
推荐阅读
- java - 任务 ':app:mergeDebugResources' android studio 执行失败
- python - 创建一个 5 x 5 矩阵 NumPy
- postgresql - 基于postgis函数的分割几何
- python - python请求不返回json数据
- php - Laravel 队列工作者识别
- woocommerce - GoCardless 支付网关不适用于 Woocommerce - 缺少请求
- css - 更改单选按钮的颜色
- linux - 如何将单个文件 tar 到多个目录中?
- php - 如何通过 Laravel 路由中间件将多个参数传递给策略
- python - 如何复制数据框中的整行