install.sh: Prefix global variables
This commit is contained in:
parent
d208a66f58
commit
ce46915901
62
install.sh
62
install.sh
|
|
@ -19,7 +19,7 @@ main() {
|
||||||
parse_args "$@"
|
parse_args "$@"
|
||||||
|
|
||||||
local _arch
|
local _arch
|
||||||
_arch="${ARCH:-$(get_architecture)}" || exit $?
|
_arch="${_ZOXIDE_ARCH:-$(get_architecture)}" || exit $?
|
||||||
assert_nz "${_arch}" "arch"
|
assert_nz "${_arch}" "arch"
|
||||||
echo "Detected architecture: ${_arch}"
|
echo "Detected architecture: ${_arch}"
|
||||||
|
|
||||||
|
|
@ -54,44 +54,44 @@ main() {
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Install binary.
|
# Install binary.
|
||||||
ensure try_sudo mkdir -p -- "${BIN_DIR}"
|
ensure try_sudo mkdir -p -- "${_ZOXIDE_BIN_DIR}"
|
||||||
ensure try_sudo cp -- "${_bin_name}" "${BIN_DIR}/${_bin_name}"
|
ensure try_sudo cp -- "${_bin_name}" "${_ZOXIDE_BIN_DIR}/${_bin_name}"
|
||||||
ensure try_sudo chmod +x "${BIN_DIR}/${_bin_name}"
|
ensure try_sudo chmod +x "${_ZOXIDE_BIN_DIR}/${_bin_name}"
|
||||||
echo "Installed zoxide to ${BIN_DIR}"
|
echo "Installed zoxide to ${_ZOXIDE_BIN_DIR}"
|
||||||
|
|
||||||
# Install manpages.
|
# Install manpages.
|
||||||
ensure try_sudo mkdir -p -- "${MAN_DIR}/man1"
|
ensure try_sudo mkdir -p -- "${_ZOXIDE_MAN_DIR}/man1"
|
||||||
ensure try_sudo cp -- "man/man1/"* "${MAN_DIR}/man1/"
|
ensure try_sudo cp -- "man/man1/"* "${_ZOXIDE_MAN_DIR}/man1/"
|
||||||
echo "Installed manpages to ${MAN_DIR}"
|
echo "Installed manpages to ${_ZOXIDE_MAN_DIR}"
|
||||||
|
|
||||||
# Print success message and check $PATH.
|
# Print success message and check $PATH.
|
||||||
echo ""
|
echo ""
|
||||||
echo "zoxide is installed!"
|
echo "zoxide is installed!"
|
||||||
if ! echo ":${PATH}:" | grep -Fq ":${BIN_DIR}:"; then
|
if ! echo ":${PATH}:" | grep -Fq ":${_ZOXIDE_BIN_DIR}:"; then
|
||||||
echo "Note: ${BIN_DIR} is not on your \$PATH. zoxide will not work unless it is added to \$PATH."
|
echo "Note: ${_ZOXIDE_BIN_DIR} is not on your \$PATH. zoxide will not work unless it is added to \$PATH."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Parse the arguments passed and set variables accordingly.
|
# Parse the arguments passed and set variables accordingly.
|
||||||
parse_args() {
|
parse_args() {
|
||||||
BIN_DIR_DEFAULT="${HOME}/.local/bin"
|
_ZOXIDE_BIN_DIR_DEFAULT="${HOME}/.local/bin"
|
||||||
MAN_DIR_DEFAULT="${HOME}/.local/share/man"
|
_ZOXIDE_MAN_DIR_DEFAULT="${HOME}/.local/share/man"
|
||||||
SUDO_DEFAULT="sudo"
|
_ZOXIDE_SUDO_DEFAULT="sudo"
|
||||||
|
|
||||||
BIN_DIR="${BIN_DIR_DEFAULT}"
|
_ZOXIDE_BIN_DIR="${_ZOXIDE_BIN_DIR_DEFAULT}"
|
||||||
MAN_DIR="${MAN_DIR_DEFAULT}"
|
_ZOXIDE_MAN_DIR="${_ZOXIDE_MAN_DIR_DEFAULT}"
|
||||||
SUDO="${SUDO_DEFAULT}"
|
_ZOXIDE_SUDO="${_ZOXIDE_SUDO_DEFAULT}"
|
||||||
|
|
||||||
while [ "$#" -gt 0 ]; do
|
while [ "$#" -gt 0 ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
--arch) ARCH="$2" && shift 2 ;;
|
--arch) _ZOXIDE_ARCH="$2" && shift 2 ;;
|
||||||
--arch=*) ARCH="${1#*=}" && shift 1 ;;
|
--arch=*) _ZOXIDE_ARCH="${1#*=}" && shift 1 ;;
|
||||||
--bin-dir) BIN_DIR="$2" && shift 2 ;;
|
--bin-dir) _ZOXIDE_BIN_DIR="$2" && shift 2 ;;
|
||||||
--bin-dir=*) BIN_DIR="${1#*=}" && shift 1 ;;
|
--bin-dir=*) _ZOXIDE_BIN_DIR="${1#*=}" && shift 1 ;;
|
||||||
--man-dir) MAN_DIR="$2" && shift 2 ;;
|
--man-dir) _ZOXIDE_MAN_DIR="$2" && shift 2 ;;
|
||||||
--man-dir=*) MAN_DIR="${1#*=}" && shift 1 ;;
|
--man-dir=*) _ZOXIDE_MAN_DIR="${1#*=}" && shift 1 ;;
|
||||||
--sudo) SUDO="$2" && shift 2 ;;
|
--sudo) _ZOXIDE_SUDO="$2" && shift 2 ;;
|
||||||
--sudo=*) SUDO="${1#*=}" && shift 1 ;;
|
--sudo=*) _ZOXIDE_SUDO="${1#*=}" && shift 1 ;;
|
||||||
-h | --help) usage && exit 0 ;;
|
-h | --help) usage && exit 0 ;;
|
||||||
*) err "Unknown option: $1" ;;
|
*) err "Unknown option: $1" ;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -119,9 +119,9 @@ ${_text_heading}Usage:${_text_reset}
|
||||||
|
|
||||||
${_text_heading}Options:${_text_reset}
|
${_text_heading}Options:${_text_reset}
|
||||||
--arch Override the architecture identified by the installer [current: ${_arch}]
|
--arch Override the architecture identified by the installer [current: ${_arch}]
|
||||||
--bin-dir Override the installation directory [default: ${BIN_DIR_DEFAULT}]
|
--bin-dir Override the installation directory [default: ${_ZOXIDE_BIN_DIR_DEFAULT}]
|
||||||
--man-dir Override the manpage installation directory [default: ${MAN_DIR_DEFAULT}]
|
--man-dir Override the manpage installation directory [default: ${_ZOXIDE_MAN_DIR_DEFAULT}]
|
||||||
--sudo Override the command used to elevate to root privileges [default: ${SUDO_DEFAULT}]
|
--sudo Override the command used to elevate to root privileges [default: ${_ZOXIDE_SUDO_DEFAULT}]
|
||||||
-h, --help Print help"
|
-h, --help Print help"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -176,19 +176,19 @@ try_sudo() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
need_sudo
|
need_sudo
|
||||||
"${SUDO}" "$@"
|
"${_ZOXIDE_SUDO}" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
need_sudo() {
|
need_sudo() {
|
||||||
if ! check_cmd "${SUDO}"; then
|
if ! check_cmd "${_ZOXIDE_SUDO}"; then
|
||||||
err "\
|
err "\
|
||||||
could not find the command \`${SUDO}\` needed to get permissions for install.
|
could not find the command \`${_ZOXIDE_SUDO}\` needed to get permissions for install.
|
||||||
|
|
||||||
If you are on Windows, please run your shell as an administrator, then rerun this script.
|
If you are on Windows, please run your shell as an administrator, then rerun this script.
|
||||||
Otherwise, please run this script as root, or install \`sudo\`."
|
Otherwise, please run this script as root, or install \`sudo\`."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! "${SUDO}" -v; then
|
if ! "${_ZOXIDE_SUDO}" -v; then
|
||||||
err "sudo permissions not granted, aborting installation"
|
err "sudo permissions not granted, aborting installation"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue