diff --git a/install.sh b/install.sh index 0fe0721..5547395 100755 --- a/install.sh +++ b/install.sh @@ -2,7 +2,12 @@ [ `id -u` -ne 0 ] && echo 'root privilege required' && exit 1 -if [ ! -d /opt/debian-bash ]; then +BASEDIR=$PWD + +if [ $BASEDIR -ne '/opt/debian-bash' ]; then + # download and filfull /etc/debian-bash, then run it from folder + + rm -rf /opt/debian-bash TEMP=`mktemp -d` cd $TEMP echo $TEMP @@ -13,24 +18,32 @@ if [ ! -d /opt/debian-bash ]; then ./install.sh rm -rf $TEMP exit 0 -fi -BASEDIR=$PWD -[ ! $BASEDIR == '/opt/debian-bash' ] && echo 'should be installed from /opt/debian-bash directory' && exit 1 +else + + ORIGINAL="ORIGINAL" + declare -a arr=(/etc/bash.bashrc /etc/inputrc /etc/vim/vimrc) -ORIGINAL="ORIGINAL" -declare -a arr=(/etc/bash.bashrc /etc/inputrc /etc/vim/vimrc) + for i in "${arr[@]}" + do + if [ ! -f "$i.$ORIGINAL" ]; then -for i in "${arr[@]}" -do - if [ ! -f "$i.$ORIGINAL" ]; then + echo "$i needs installation $(basename $i)" + mv "$i" "$i.$ORIGINAL" + ln -s "$BASEDIR/$(basename $i)" "$i" + else + echo "$i" already overriden + fi + done - echo "$i needs installation $(basename $i)" - mv "$i" "$i.$ORIGINAL" - ln -s "$BASEDIR/$(basename $i)" "$i" - else - echo "$i" already overriden + # install inside active LXC containers + if [[ -f '/snap/bin/lxc' ]]; then + for container in `lxc list -c n --format csv`; do + echo "pushed to $container" + /snap/bin/lxc file push /opt/debian-bash "${container}/opt/" -r + /snap/bin/lxc exec "$container" -- sh -c "cd /opt/debian-bash && ./install.sh" + done fi -done -source /etc/bash.bashrc + source /etc/bash.bashrc +fi