40 lines
1.2 KiB
Bash
40 lines
1.2 KiB
Bash
#!/bin/bash
|
|
# assumes that bash is installed
|
|
#!/bin/bash
|
|
|
|
# must! be run as sudo
|
|
install_shell_base () {
|
|
# TODO have a cross distro package install
|
|
[[ ! $(which git) ]] && apt-get install --no-install-recommends git -y
|
|
[[ ! $EUID -eq 0 ]] && { echo ERROR script must be run as root; return; }
|
|
mkdir -p /shell/base
|
|
git clone https://git.kebler.net/bash/shell-base.git /shell/base
|
|
chown -R ${1:-$1000}:${1:-1000} /shell
|
|
chmod -R +r /shell
|
|
/bin/bash /shell/base/install/install.sh ${1:-$1000}
|
|
}
|
|
|
|
# remote_install_shell_base -r <remote host> <sudo pass if host not root> <user to install, default is $USER>
|
|
# module_load install-shell-base && remote_install_shell_base -r newboxr
|
|
remote_install_shell_base () {
|
|
module_load remote
|
|
local supass;local user
|
|
if [[ $1 == "-r" ]]; then
|
|
shift 1;
|
|
user=$2;
|
|
else
|
|
[[ ! $2 ]] && { echo sudo password for remote user required; return 2; }
|
|
supass="-p $2"
|
|
user=$3
|
|
fi
|
|
remote_script $supass install-shell-base $user -- $1
|
|
}
|
|
|
|
# # if script was executed then call the function
|
|
(return 0 2>/dev/null) || install_shell_base $@
|
|
|
|
# example
|
|
# $ module_load install-shell-base
|
|
# $ remote_install_shell_base -r portabler david
|
|
|