#!/bin/bash ################################################################################ # # File: $RCSfile: setup_rc,v $ # Revision: $Revision: 1.6 $ # Description: This script sets up my rc scripts # Author: Andrew@DeFaria.com # Created: Thu Feb 16 07:34:32 PST 2006 # Modified: $Date: 2011/12/14 22:28:59 $ # Language: bash # # (c) Copyright 2006, Andrew@DeFaria.com, all rights reserved # ################################################################################ function ReplaceFile { dest=$1 source=$2 if [ -f "$dest" ]; then if [ -h "$dest" ]; then return else echo "Saving your old $dest as $dest.save..." mv "$dest" "$dest.save" fi fi if [ ! -h "$dest" ]; then ln -s "$source" "$dest" fi } # ReplaceFile function ReplaceDir { dest=$1 source=$2 if [ -d "$dest" ]; then if [ -h "$dest" ]; then return else echo "Saving your old $dest as $dest.save..." mv "$dest" "$dest.save" fi fi if [ ! -h "$dest" ]; then ln -s "$source" "$dest" fi } # ReplaceDir if [ ! -d $HOME/.rc ]; then echo "No $HOME/.rc directory found" exit 1 fi cat /dev/null > /tmp/debug.log # Check to see if we were already setup symlink=$(stat -c %N ~/.bashrc | awk '{print $2}') if [ "$symlink" = "->" ]; then echo "DEBUG: ~/.bashrc is a symlink" >> /tmp/debug.log to=$(stat -c %N ~/.bashrc | awk '{print $NF}') if [[ "$to" =~ .rc\/bash_login ]]; then echo "DEBUG: Already setup" >> /tmp/debug.log exit else echo "DEBUG: Not setup yet" >> /tmp/debug.log fi else echo "DEBUG: ~/.bashrc is not a symlink. Must setup" >> /tmp/debug.log fi ReplaceFile "$HOME/.Xdefaults" "$HOME/.rc/Xdefaults" ReplaceFile "$HOME/.bash_login" "$HOME/.rc/bash_login" ReplaceFile "$HOME/.bashrc" "$HOME/.rc/bash_login" ReplaceFile "$HOME/.inputrc" "$HOME/.rc/inputrc" ReplaceFile "$HOME/.vimrc" "$HOME/.rc/vimrc" ReplaceDir "$HOME/.xemacs" "$HOME/.rc/xemacs" ReplaceFile "$HOME/.ssh/config" "$HOME/.rc/sshconfig" ReplaceFile "$HOME/.perlcriticrc" "$HOME/.rc/perlcriticrc" ReplaceFile "$HOME/.perltidyrc" "$HOME/.rc/perltidyrc" ReplaceFile "$HOME/.gitconfig" "$HOME/.rc/gitconfig"