我有以下zsh
脚本,它将给定目录(README.md
除外)中的所有文件符号链接到我的主目录,每个文件名前面有前导.
。zsh - 在glob循环中包含目录
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.dotfiles/home/^README.md(.N); do
ln -fsv "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
的问题是水珠似乎不包括内部"${ZDOTDIR:-$HOME}"/.dotfiles/home/
任何目录,只是常规文件。如何在此循环中包含目录(例如,目录/Users/user/.dotfiles/home/vim
与符号链接/Users/user/.vim
)?我已经尝试了一些find
的东西,但如果可能的话,我宁愿坚持使用纯脚本zsh
脚本。
仅供参考,下面是该目录的列表:
README.md
gitconfig
tmux.conf
vim
vimrc
zlogin
zprofile
zshenv
zshrc
而这里的每个循环迭代的值:
/Users/user/.dotfiles/home/gitconfig
/Users/user/.dotfiles/home/tmux.conf
/Users/user/.dotfiles/home/vimrc
/Users/user/.dotfiles/home/zlogin
/Users/user/.dotfiles/home/zprofile
/Users/user/.dotfiles/home/zshenv
/Users/user/.dotfiles/home/zshrc
所以README.md
被排除在外,因为我打算,但vim
也被排除在外,但我希望它(和任何其他目录)被包括在内。
我认为你必须定义ZDOTDIR赋予它像 ZDOTDIR =〜/ .dotfiles或类似成才的值,否则将zsh的$ HOME设置它。其他问题是:不要忘记在zsh而不是bash中执行该过程。 – SergioAraujo