使用bash自动化dotfiles

Tar*_*sch 6 unix bash dotfiles

我想创建自己的自动dotfiles文件夹.(我将使用git在我的dotfiles上使用版本控制,但这与问题无关)

我只想要象征性地将所有文件和文件夹链接~/dotfiles到我的主文件夹.对bash一点都不好,我不能这样做.请帮我解决一下这个.

如果可能的话,我也会欣赏以下功能.

  • 文件夹只是浅层链接
  • 我的文件可能在dotfiles文件夹中没有文件名中的实际点(~/dotfiles/vimrc而不是~/dotfiles/.vimrc)
  • 它应该能够忽略一些文件,例如存储在同一文件夹中的.git文件

当然,如果您已经知道提供此服务的服务,那至少与提供一些自己的命令一样好.注意我特别希望它是bash或者很可能存在于所有unix机器上的东西(所以我猜使用g ++的命令很好).

Pau*_*ce. 7

尝试一下:

ln -s ~/dotfiles/* ~
Run Code Online (Sandbox Code Playgroud)

不应该有任何循环.当然,find如果你需要一些递归的东西,你可以使用.

编辑:

要隐藏目标文件:

for f in ~/dotfiles/*
do
    ln -s "$f" "$HOME/.${f##*/}"
done
Run Code Online (Sandbox Code Playgroud)