1

许多人喜欢将他们的 bash 配置文件移动到 Dropbox 文件夹,这样他们就可以拥有多台具有相同配置文件的机器(通常,对于那些拥有他们喜欢的自定义和特定配置文件的人)。我想对我的 zsh 配置文件和Prezto框架做同样的事情。

我在其中创建了一个 Dropbox 文件夹/Users/me/Dropbox/Computer Preferences/zsh/(我将在此将其称为DBFolder),我想在其中存储我的 Prezto 配置。

这是我追求的过程:

  1. 我下载了 Prezto 并将下载中的所有文件移动到DBFolder
  2. 我为所有 z* 文件创建了一个符号链接,{DBFolder}/.zprezto/runcoms/生成的符号链接位于~/.
  3. 我将这些行添加到我的 zshenv 文件中:

    export ZDOTDIR="$HOME/Dropbox/Computer Preferences/zsh" if [[ "$SHLVL" -eq 1 && -s "${ZDOTDIR:-$HOME}/.zprofile" ]]; then source "${ZDOTDIR:-$HOME}/.zprofile" path = /Users/me/bin fi

我现在可以使用 Prezto 配置启动我的 zsh 配置文件。但是,我现在的问题是我的初始登录无法加载路径:

/Users/me/.zshenv:22: permission denied: /Users/me/bin
$ whoami
#=> me

/Users/me/bin我的问题是 - 为什么当我清楚地登录(通过)时我无法访问$ whoami它在我的主目录中的位置?

4

1 回答 1

1

有问题的行是

path = /Users/me/bin

存在三个问题:

  1. $path是 Zsh 中的一个数组;$PATH是 POSIX 兼容的标量。
  2. =被空格包围的是语法错误;POSIX shell 中的赋值不应包含空格。
  3. $PATH应该扩展而不是覆盖。

更正:

PATH=$HOME/bin:$PATH

或者

path=($HOME/bin $path)

后者需要ksharrays关闭选项(默认关闭)。

于 2015-10-19T04:41:40.107 回答