2013-12-20 3 views
1

Я нашел this one для своих dotfiles. Но я не понимаю, почему автор делает dotfiles_old. Вместо этого вы просто переходите к dotfiles.Зачем вам dotfiles_old при создании dotfiles

Q1. Есть ли веские причины для этого? Если да, то почему?

Q2. Могу ли я сделать это без dofiles_old? Это хорошая идея?

Заранее спасибо.

#!/bin/bash 
############################ 
# .make.sh 
# This script creates symlinks from the home directory to any desired dotfiles in ~/dotfiles 
############################ 

########## Variables 

dir=~/dotfiles     # dotfiles directory 
olddir=~/dotfiles_old    # old dotfiles backup directory 
files="bashrc vimrc vim zshrc oh-my-zsh" # list of files/folders to symlink in homedir 

########## 

# create dotfiles_old in homedir 
echo "Creating $olddir for backup of any existing dotfiles in ~" 
mkdir -p $olddir 
echo "...done" 

# change to the dotfiles directory 
echo "Changing to the $dir directory" 
cd $dir 
echo "...done" 

# move any existing dotfiles in homedir to dotfiles_old directory, then create symlinks 
for file in $files; do 
    echo "Moving any existing dotfiles from ~ to $olddir" 
    mv ~/.$file ~/dotfiles_old/ 
    echo "Creating symlink to $file in home directory." 
    ln -s $dir/$file ~/.$file 
done 

ответ

1

С ~/dotfiles_old, если вы обнаружите, что вы забыли обновить ~/dotfiles/bashrc с новой фантазии приглашение, вы можете просто скопировать его из ~/dotfiles_old/.bashrc.

Без ~/dotfiles_old любые изменения, внесенные вами в вашем домашнем каталоге, будут окончательно потеряны.

Независимо от того, заботитесь вы, это зависит только от вас. Это для пользователя, а не для скрипта.

1

Лучшим подходом является создание папки dotfiles в $ HOME и создание символических ссылок в их конфигурационных файлах.

Есть пример здесь: https://github.com/vsouza/dotfiles

Каждая папка содержит файл install.sh, который заботится о создании символических ссылок.