Bash 移动zsh+;从prezto配置到dropbox
喜欢将他们的bash配置文件移动到Dropbox文件夹,这样他们就可以拥有多台具有相同配置文件的机器(通常,对于那些拥有自己喜欢的自定义和特定配置文件的机器)。我想对我的zsh概要文件和框架做同样的事情 我在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 我
/Users/me/Dropbox/Computer Preferences/zsh/
中创建了一个Dropbox文件夹(我在此将其称为DBFolder),我希望将我的Prezto配置存储在其中
以下是我所追求的过程:
{DBFolder}/.zprezto/runcoms/
中的所有z*文件创建了一个符号链接,这些符号链接都在~/
中export ZDOTDIR=“$HOME/Dropbox/Computer Preferences/zsh”
如果[[“$SHLVL”-eq 1&&s“${ZDOTDIR:-$HOME}/.zprofile”];然后
源“${ZDOTDIR:-$HOME}/.zprofile”
路径=/Users/me/bin
fi
/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)