将 zsh + prezto 配置移动到 dropbox
Move zsh + prezto configuration to dropbox
Many people like to move their bash profiles to a Dropbox folder so that they can have multiple machines with their same profile (usually, for those who have a custom and specific profile that they love). I would like to do the same thing with my zsh profile and Prezto 框架。
我在 /Users/me/Dropbox/Computer Preferences/zsh/
中创建了一个 Dropbox 文件夹(我将在下文中将其称为 DBFolder),我想将我的 Prezto 配置存储在其中。
这是我所追求的过程:
- 我下载了 Prezto 并将下载的所有文件移动到 DBFolder。
- 我为
{DBFolder}/.zprezto/runcoms/
中的所有 z* 文件创建了一个符号链接,结果符号链接位于 ~/
。
我将这些行添加到我的 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
我的问题是 - 当我清楚地登录(通过 $ whoami
)在我的主目录中时,为什么我无法访问 /Users/me/bin
?
有问题的行是
path = /Users/me/bin
存在三个问题:
$path
是Zsh中的一个数组; $PATH
是 POSIX 兼容的标量。
=
中间有空格是语法错误; POSIX shell 中的赋值不应包含空格。
$PATH
应该扩展而不是覆盖。
更正:
PATH=$HOME/bin:$PATH
或
path=($HOME/bin $path)
后者需要关闭ksharrays
选项(默认关闭)。
Many people like to move their bash profiles to a Dropbox folder so that they can have multiple machines with their same profile (usually, for those who have a custom and specific profile that they love). I would like to do the same thing with my zsh profile and Prezto 框架。
我在 /Users/me/Dropbox/Computer Preferences/zsh/
中创建了一个 Dropbox 文件夹(我将在下文中将其称为 DBFolder),我想将我的 Prezto 配置存储在其中。
这是我所追求的过程:
- 我下载了 Prezto 并将下载的所有文件移动到 DBFolder。
- 我为
{DBFolder}/.zprezto/runcoms/
中的所有 z* 文件创建了一个符号链接,结果符号链接位于~/
。 我将这些行添加到我的 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
我的问题是 - 当我清楚地登录(通过 $ whoami
)在我的主目录中时,为什么我无法访问 /Users/me/bin
?
有问题的行是
path = /Users/me/bin
存在三个问题:
$path
是Zsh中的一个数组;$PATH
是 POSIX 兼容的标量。=
中间有空格是语法错误; POSIX shell 中的赋值不应包含空格。$PATH
应该扩展而不是覆盖。
更正:
PATH=$HOME/bin:$PATH
或
path=($HOME/bin $path)
后者需要关闭ksharrays
选项(默认关闭)。