Bash 移动zsh+;从prezto配置到dropbox

Bash 移动zsh+;从prezto配置到dropbox,bash,permissions,zsh,chown,prezto,Bash,Permissions,Zsh,Chown,Prezto,喜欢将他们的bash配置文件移动到Dropbox文件夹,这样他们就可以拥有多台具有相同配置文件的机器(通常,对于那些拥有自己喜欢的自定义和特定配置文件的机器)。我想对我的zsh概要文件和框架做同样的事情 我在/Users/me/Dropbox/Computer Preferences/zsh/中创建了一个Dropbox文件夹(我在此将其称为DBFolder),我希望将我的Prezto配置存储在其中 以下是我所追求的过程: 我下载了Prezto,并将下载文件夹中的所有文件移动到DBFolder 我

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

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

以下是我所追求的过程:

  • 我下载了Prezto,并将下载文件夹中的所有文件移动到DBFolder
  • 我为
    {DBFolder}/.zprezto/runcoms/
    中的所有z*文件创建了一个符号链接,这些符号链接都在
    ~/
  • 我在zshenv文件中添加了以下行:

    export ZDOTDIR=“$HOME/Dropbox/Computer Preferences/zsh”
    如果[[“$SHLVL”-eq 1&&s“${ZDOTDIR:-$HOME}/.zprofile”];然后
    源“${ZDOTDIR:-$HOME}/.zprofile”
    路径=/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
    


    后者要求关闭
    ksharrays
    选项(默认情况下关闭)。

    问题行可能是
    path=/Users/me/bin
    。正如所写,这是一个语法错误(但不应该给你“拒绝许可”,所以我不确定你是否忠实地复制)。无论如何,你显然是指
    PATH=/Users/me/bin:$PATH
    ,或者更好的是,
    PATH=$HOME/bin:$PATH
    。如果你能回答这个问题,我会很高兴的!另外,你对我把这个移到Dropbox的过程有什么意见吗?我忘了什么傻事了吗?我忽略了什么吗?这能解决你的问题吗?如果是这样的话,我会回答的。“您对我的流程有什么意见吗…”当然,我是这么想的:既然您将所有RunCom都符号链接到了
    $HOME
    ,您根本不需要设置
    $ZDOTDIR
    ;我个人更喜欢符号链接而不是
    $ZDOTDIR
    。此外,您不需要自己编写
    .zprofile
    ;它是为登录shell自动获取的。你在这里写的东西也来源于非登录shell;如果这是你想要的,那你就错了。根据互动性,非登录内容会进入
    env
    rc
    。此外,检查
    $SHLVL
    等于1是多余的。在
    $path
    中重复相同的路径(或
    $path
    ,它是数组对应项)并不是一个真正的问题,它只是在搜索时增加了一点工作量。如果您真的关心重复数据消除,只需在最后执行
    typeset-gU path
    ,即可消除您的
    path
    数组中的重复数据。您认为这值得一个新问题吗?你在这里有一些非常可靠的观点,这些都是讨论中的工作,但我不确定是否应该完全是一个问题。将评论转换为答案,以将其从未回答的队列中释放出来。
    path=($HOME/bin $path)