1
0
mirror of https://github.com/wting/autojump synced 2024-10-27 20:34:07 +00:00

add local install, otherwise global install if run as root, text/formatting changes

This commit is contained in:
William Ting 2011-12-23 14:04:04 -10:00
parent 7085d8c5b4
commit 0f0ba550f9

View File

@ -16,18 +16,21 @@
#along with autojump. If not, see <http://www.gnu.org/licenses/>. #along with autojump. If not, see <http://www.gnu.org/licenses/>.
function show_help { function show_help {
echo "sudo ./install.sh [--prefix /usr/local]" echo "sudo ./install.zsh [--local] [--prefix /usr/local]"
} }
prefix=/usr prefix=/usr
local_install=false local=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|-\?)
-l|--local); show_help
local_install=true exit 0
;;
-l|--local)
local=true
prefix=~/.autojump prefix=~/.autojump
shift shift
;; ;;
@ -37,13 +40,28 @@ while true; do
else else
echo "--prefix or -p require an argument" 1>&2 echo "--prefix or -p require an argument" 1>&2
exit 1 exit 1
fi ;; fi
--) shift; break;; ;;
-*) echo "invalid option: $1" 1>&2; show_help; exit 1;; --)
*) break;; shift
break
;;
-*)
echo "invalid option: $1" 1>&2
show_help
exit 1
;;
*)
break
;;
esac esac
done done
if [[ $(whoami) != "root" ]] && ! ${local}; then
echo "Please rerun as root or use the --local option."
exit 1
fi
echo "Installing main files to ${prefix} ..." echo "Installing main files to ${prefix} ..."
# add git revision to autojump # add git revision to autojump
@ -58,28 +76,27 @@ cp autojump ${prefix}/bin/
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
if ( ! ${local_install} ); then if ( ! ${local} ); then
fail=true fail=true
for f in $fpath for f in $fpath
do do
sudo cp _j $f && fail=false && break cp _j $f && fail=false && break
done done
if $fail if $fail
then then
echo "Couldn't find a place to put the autocompletion file :-(" echo "Couldn't find a place to put the autocompletion file, please copy _j into your \$fpath"
echo "Still trying to install the rest of autojump..." echo "Still trying to install the rest of autojump..."
else else
echo "Installed autocompletion file to $f" echo "Installed autocompletion file to $f"
fi fi
if [ -d "/etc/profile.d" ]; then if [ -d "/etc/profile.d" ]; then
sudo cp autojump.zsh /etc/profile.d/ cp -v autojump.zsh /etc/profile.d/
sudo cp autojump.sh /etc/profile.d/ cp -v autojump.sh /etc/profile.d/
echo "Remember to add the line" echo
echo " source /etc/profile.d/autojump.zsh" echo "Add the following line to your ~/.zshrc:"
echo "or" echo
echo " source /etc/profile" echo -e "\tsource /etc/profile.d/autojump.zsh"
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 else
@ -108,11 +125,12 @@ else
cp autojump.zsh ${prefix}/etc/profile.d/ cp autojump.zsh ${prefix}/etc/profile.d/
cp autojump.sh ${prefix}/etc/profile.d/ cp autojump.sh ${prefix}/etc/profile.d/
echo
echo "Add the following lines to your ~/.zshrc:" echo "Add the following lines to your ~/.zshrc:"
echo echo
echo " path=(${prefix}/bin \${path})" echo -e "\tpath=(${prefix}/bin \${path})"
echo " fpath=(${prefix}/functions \${fpath})" echo -e "\tfpath=(${prefix}/functions \${fpath})"
echo " source ${prefix}/etc/profile.d/autojump.zsh" echo -e "\tsource ${prefix}/etc/profile.d/autojump.zsh"
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."
echo echo