mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Adding extensionless script to Shell samples
This commit is contained in:
55
samples/Shell/script_noext
Normal file
55
samples/Shell/script_noext
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Bash script to "plugin" to the dotfile repository, does a lot of fun stuff
|
||||
# like turning the normal dotfiles (eg .bashrc) into symlinks to this
|
||||
# repository's versions of those files (ensure that updates are just a
|
||||
# 'git pull' away), optionally moving old files so that they can be
|
||||
# preserved, setting up a cron job to automate the aforementioned git
|
||||
# pull, and maybe some more fun stuff
|
||||
#
|
||||
|
||||
shopt -s nocasematch # This makes pattern matching case-insensitive
|
||||
|
||||
POSTFIX="local"
|
||||
URL="https://github.com/brcooley/.f.git"
|
||||
PUSHURL="git@github.com:brcooley/.f.git"
|
||||
|
||||
overwrite=true
|
||||
|
||||
print_help () {
|
||||
echo -e "\nA script to keep dotfiles up to date\n"
|
||||
echo "Options:"
|
||||
echo " -k, --keep-local Keeps local copies of dotfiles by appending"
|
||||
echo " \"$POSTFIX\" to them"
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
for opt in $@; do
|
||||
case $opt in
|
||||
-k | --keep-local) overwrite=false;;
|
||||
-h | --help) print_help;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
|
||||
for f in .*; do
|
||||
if [ "$f" = ".git" -o "$f" = "." -o "$f" = ".." -o "$f" = ".f" ]; then continue; fi
|
||||
if [ -f "$HOME/$f" ]; then
|
||||
if [ $overwrite = false ]; then
|
||||
mv "$HOME/$f" "$HOME/${f}_$POSTFIX"
|
||||
else
|
||||
rm "$HOME/$f"
|
||||
fi
|
||||
# echo "Moving ~/$f to $HOME/${f}_$POSTFIX"
|
||||
fi
|
||||
ln -s "$PWD/$f" "$HOME/$f"
|
||||
done
|
||||
|
||||
# Git versions prior to 1.7.? (1.7.1 confirmed) do not have a --local option
|
||||
git config --local remote.origin.url "$URL"
|
||||
git config --local remote.origin.pushurl "$PUSHURL"
|
||||
crontab .jobs.cron
|
||||
source ~/.bashrc
|
||||
echo "Plugin succesful"
|
||||
Reference in New Issue
Block a user