diff --git a/install.sh b/install.sh index 62f651c..6a3b079 100755 --- a/install.sh +++ b/install.sh @@ -14,24 +14,28 @@ fi for dir in $DIRS; do if [ -d "$DIR$dir" ]; then - for script in $DIR$dir/*; do - filename=$(basename $script) - dest="$dir/$filename" - - if [ -d "$script" ]; then - echo "$script is a directory, skipping..." - continue; - elif echo "$script" | grep -q $IGNORE; then - echo "$script should be ignored, skipping..." - if [ -e "$dest" ] || [ -h "$dest" ]; then - rm -v $dest - fi - continue; - elif [ -e "$dest" ] || [ -h "$dest" ]; then - rm -v $dest + if ! [ -e "$dir" ]; then + mkdir -pv $dir fi - ln -sv $script $dest - done + for script in $DIR$dir/*; do + filename=$(basename $script) + dest="$dir/$filename" + + if [ -d "$script" ]; then + echo "$script is a directory, skipping..." + continue; + elif echo "$script" | grep -q $IGNORE; then + echo "$script should be ignored, skipping..." + if [ -e "$dest" ] || [ -h "$dest" ]; then + rm -v $dest + fi + continue; + elif [ -e "$dest" ] || [ -h "$dest" ]; then + rm -v $dest + fi + + ln -sv $script $dest + done fi done