created local install for z-shell

pull/85/head
William Ting 13 years ago
parent db4ad6f049
commit 7085d8c5b4

@ -20,17 +20,24 @@ function show_help {
} }
prefix=/usr prefix=/usr
local_install=false
#command line parsing #command line parsing
while true; do while true; do
case "$1" in case "$1" in
-h|--help|-\?) show_help; exit 0;; -h|--help|-\?) show_help; exit 0;;
-p|--prefix) if [ $# -gt 1 ]; then -l|--local);
prefix=$2; shift 2 local_install=true
else prefix=~/.autojump
echo "--prefix or -p require an argument" 1>&2 shift
exit 1 ;;
fi ;; -p|--prefix)
if [ $# -gt 1 ]; then
prefix=$2; shift 2
else
echo "--prefix or -p require an argument" 1>&2
exit 1
fi ;;
--) shift; break;; --) shift; break;;
-*) echo "invalid option: $1" 1>&2; show_help; exit 1;; -*) echo "invalid option: $1" 1>&2; show_help; exit 1;;
*) break;; *) break;;
@ -42,53 +49,72 @@ echo "Installing main files to ${prefix} ..."
# add git revision to autojump # add git revision to autojump
./git-version.sh ./git-version.sh
sudo mkdir -p ${prefix}/share/autojump/ mkdir -p ${prefix}/share/autojump/
sudo mkdir -p ${prefix}/bin/ mkdir -p ${prefix}/bin/
sudo mkdir -p ${prefix}/share/man/man1/ mkdir -p ${prefix}/share/man/man1/
sudo cp icon.png ${prefix}/share/autojump/ cp icon.png ${prefix}/share/autojump/
sudo cp jumpapplet ${prefix}/bin/ cp jumpapplet ${prefix}/bin/
sudo cp autojump ${prefix}/bin/ cp autojump ${prefix}/bin/
sudo cp autojump.1 ${prefix}/share/man/man1/ cp autojump.1 ${prefix}/share/man/man1/
# autocompletion file in the first directory of the FPATH variable # autocompletion file in the first directory of the FPATH variable
fail=true if ( ! ${local_install} ); then
for f in $fpath fail=true
do for f in $fpath
sudo cp _j $f && fail=false && break do
done sudo cp _j $f && fail=false && break
if $fail done
then if $fail
echo "Couldn't find a place to put the autocompletion file :-(" then
echo "Still trying to install the rest of autojump..." echo "Couldn't find a place to put the autocompletion file :-("
else echo "Still trying to install the rest of autojump..."
echo "Installed autocompletion file to $f" else
fi echo "Installed autocompletion file to $f"
fi
if [ -d "/etc/profile.d" ]; then if [ -d "/etc/profile.d" ]; then
sudo cp autojump.zsh /etc/profile.d/ sudo cp autojump.zsh /etc/profile.d/
sudo cp autojump.sh /etc/profile.d/ sudo cp autojump.sh /etc/profile.d/
echo "Remember to add the line" echo "Remember to add the line"
echo " source /etc/profile.d/autojump.zsh" echo " source /etc/profile.d/autojump.zsh"
echo "or" echo "or"
echo " source /etc/profile" echo " source /etc/profile"
echo "to your ~/.zshrc if it's not there already" echo "to your ~/.zshrc if it's not there already"
echo echo
echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump." echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump."
else
echo "Your distribution does not have a /etc/profile.d directory, the default that we install one of the scripts to. Would you like us to copy it into your ~/.zshrc file to make it work? (If you have done this once before, delete the old version before doing it again.) [y/n]"
read ans
if [ ${#ans} -gt 0 ]; then
if [ $ans = "y" -o $ans = "Y" -o $ans = "yes" -o $ans = "Yes" ]; then
echo "" >> ~/.zshrc
echo "#autojump" >> ~/.zshrc
cat autojump.zsh >> ~/.zshrc
echo "Done!"
echo
echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump."
else else
echo "Then you need to put autojump.zsh, or the code from it, somewhere where it will get read. Good luck!" echo "Your distribution does not have a /etc/profile.d directory, the default that we install one of the scripts to. Would you like us to copy it into your ~/.zshrc file to make it work? (If you have done this once before, delete the old version before doing it again.) [y/n]"
read ans
if [ ${#ans} -gt 0 ]; then
if [ $ans = "y" -o $ans = "Y" -o $ans = "yes" -o $ans = "Yes" ]; then
echo "" >> ~/.zshrc
echo "#autojump" >> ~/.zshrc
cat autojump.zsh >> ~/.zshrc
echo "Done!"
echo
echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump."
else
echo "Then you need to put autojump.zsh, or the code from it, somewhere where it will get read. Good luck!"
fi
else
echo "Then you need to put autojump.zsh, or the code from it, somewhere where it will get read. Good luck!"
fi
fi fi
else else
echo "Then you need to put autojump.zsh, or the code from it, somewhere where it will get read. Good luck!" mkdir -p ${prefix}/functions/
fi cp _j ${prefix}/functions/
mkdir -p ${prefix}/etc/profile.d/
cp autojump.zsh ${prefix}/etc/profile.d/
cp autojump.sh ${prefix}/etc/profile.d/
echo "Add the following lines to your ~/.zshrc:"
echo
echo " path=(${prefix}/bin \${path})"
echo " fpath=(${prefix}/functions \${fpath})"
echo " source ${prefix}/etc/profile.d/autojump.zsh"
echo
echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump."
echo
echo "To remove autojump, delete the ${prefix} directory and relevant lines from ~/.zshrc."
fi fi

Loading…
Cancel
Save