install2
This commit is contained in:
Executable
+41
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/bash -E
|
||||
|
||||
## CONSTANTS
|
||||
|
||||
MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz"
|
||||
|
||||
## FUNCTIONS
|
||||
|
||||
function bootstrap {
|
||||
cd "$(mktemp -d)" || exit 3
|
||||
curl -s -O $MAIN_TAR_GZ_URL
|
||||
tar -xzf main.tar.gz --directory "$(dirname $MIAOU_BASH_DIR)"
|
||||
}
|
||||
|
||||
function assert_supported_distro {
|
||||
grep -E '^ID=debian|^ID_LIKE=debian' /etc/os-release ||
|
||||
grep -E '^ID=arch|^ID_LIKE=arch' /etc/os-release
|
||||
}
|
||||
|
||||
## MAIN
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
! assert_supported_distro && echo 'unsupported distro: debian-like OR arch-like expected' && exit 2
|
||||
deployment_type_adjective="${1:-installed}"
|
||||
[[ ! -v MIAOU_BASH_DIR ]] && MIAOU_BASH_DIR=/opt/miaou-bash && export MIAOU_BASH_DIR
|
||||
|
||||
if [[ "$UID" -ne 0 ]]; then
|
||||
sudo -vp 'root privilege required: '
|
||||
sudo '$0' "$deployment_type_adjective"
|
||||
exec bash -l
|
||||
else
|
||||
if [[ -d "$MIAOU_BASH_DIR" && -L /etc/inputrc && "$(readlink /etc/inputrc)" == "$MIAOU_BASH_DIR"/etc/inputrc ]]; then
|
||||
. "$MIAOU_BASH_DIR"/bin/miaou-bash "$MIAOU_BASH_DIR/lib/self-upgrade.bash"
|
||||
else
|
||||
bootstrap
|
||||
. "$MIAOU_BASH_DIR"/bin/miaou-bash "$MIAOU_BASH_DIR/lib/initiate.bash"
|
||||
echo "miaou-bash successfully $deployment_type_adjective"
|
||||
exec bash -l
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user