From 4bc87b96423dd84d8ed484e2ae11f8e1ac8f9648 Mon Sep 17 00:00:00 2001 From: Paul S Date: Wed, 5 May 2021 17:22:57 +0200 Subject: [PATCH] Implemented option "--gui" for graphical installer --- install.sh | 183 +++++++++++++++++++++++++++-------------------------- 1 file changed, 95 insertions(+), 88 deletions(-) diff --git a/install.sh b/install.sh index 2852df2..ba8f1da 100755 --- a/install.sh +++ b/install.sh @@ -2,99 +2,106 @@ # Variables mydir=$PWD -langDE="languages/german.py" -langEN="languages/english.py" +langDE="./languages/german.py" +langEN="./languages/english.py" -# Intro -# language -echo -e "Hello, first of all, which language do you prefer: German [DE] or English [EN]?" -read language -if [ $language = "DE" ]; then - echo -e "Perfekt, nun ist das deutsche Sprachpaket aktiviert. Willkommen! \n" - . $langDE +# Check if graphical installer should be executed +if [ "$1" == "--gui" ]; then + python3 -B install.py + exit 0 +else + # Intro + # language + echo -e "Hello, first of all, which language do you prefer: German [DE] or English [EN]?" + read language + if [ $language = "DE" ]; then + echo -e "Perfekt, nun ist das deutsche Sprachpaket aktiviert. Willkommen! \n" + . $langDE + sleep 1 + fi + if [ $language = "EN" ]; then + echo -e "Perfect, the English language package is now activated. Welcome!. \n" + . $langEN + sleep 1 + fi + + echo -e "\n$intromsg1 \n" sleep 1 -fi -if [ $language = "EN" ]; then - echo -e "Perfect, the English language package is now activated. Welcome!. \n" - . $langEN + echo -e " \n$intromsg2\n" sleep 1 -fi + # Installer -echo -e "\n$intromsg1 \n" -sleep 1 -echo -e " \n$intromsg2\n" -sleep 1 -# Installer - -# creates the file 'Backuppy.sh' -touch Backuppy.sh -echo "#!/bin/bash" >> Backuppy.sh -chmod +x Backuppy.sh -# which Rsync options are available and which one you want to use -echo -e "$rsyncopt \n" -sleep 1 - -# asks if you want to exclude files/directories from backup and creates an exclude file in case of Yes -echo -e "$excludefile1" -read exclude -if [ $exclude = "J" ]; then - echo -e "$excludefile2 \n" - touch exclude.txt + # creates the file 'Backuppy.sh' + touch Backuppy.sh + echo "#!/bin/bash" >> Backuppy.sh + chmod +x Backuppy.sh + # which Rsync options are available and which one you want to use + echo -e "$rsyncopt \n" sleep 1 -elif [ $exclude = "Y" ]; then - echo -e "$excludefile2 \n" - touch exclude.txt + + # asks if you want to exclude files/directories from backup and creates an exclude file in case of Yes + echo -e "$excludefile1" + read exclude + if [ $exclude = "J" ]; then + echo -e "$excludefile2 \n" + touch exclude.txt + sleep 1 + elif [ $exclude = "Y" ]; then + echo -e "$excludefile2 \n" + touch exclude.txt + sleep 1 + fi + if [ $exclude = "N" ]; then + echo -e "$excludefile3 \n" + sleep 1 + fi + + # Asks for the source directory which should be saved + echo -e "$srcdir1" sleep 1 -fi -if [ $exclude = "N" ]; then - echo -e "$excludefile3 \n" + echo -e "$srcdir2" + read sourcedir + echo -e "$srcdir3_1 $sourcedir $srcdir3_2" sleep 1 + + # asks for the destination directory in which the backup should be saved + echo -e "$targetdir1" + read targetdir + echo -e "$targetdir2_1 $targetdir $targetdir2_2" + sleep 1 + + # alias entry in .bashrc or .zshrc + # .zshrc case 1 + echo $SHELL + if [ $SHELL = "/usr/bin/zsh" ]; then + echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.zshrc + fi + # zshrc case 2 + echo $SHELL + if [ $SHELL = "/bin/zsh" ]; then + echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.zshrc + fi + #bashrc case 1 + if [ $SHELL = "/usr/bin/bash" ]; then + echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.bashrc + fi + # bashrc case 2 + if [ $SHELL = "/bin/bash" ]; then + echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.bashrc + fi + + # collects all the information needed to execute the rsync command and creates it. + echo -e "$collect \n" + sleep 1 + echo -e "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir \n" + sleep 1 + + # enter the rsync command in Backuppy.sh + echo "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir" >> Backuppy.sh + + # Outro + echo -e "$outro1" + sleep 2 + echo "$outro2" + exit 0 fi - -# Asks for the source directory which should be saved -echo -e "$srcdir1" -sleep 1 -echo -e "$srcdir2" -read sourcedir -echo -e "$srcdir3_1 $sourcedir $srcdir3_2" -sleep 1 - -# asks for the destination directory in which the backup should be saved -echo -e "$targetdir1" -read targetdir -echo -e "$targetdir2_1 $targetdir $targetdir2_2" -sleep 1 - -# alias entry in .bashrc or .zshrc -# .zshrc case 1 -echo $SHELL -if [ $SHELL = "/usr/bin/zsh" ]; then - echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.zshrc -fi -# zshrc case 2 -echo $SHELL -if [ $SHELL = "/bin/zsh" ]; then - echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.zshrc -fi -#bashrc case 1 -if [ $SHELL = "/usr/bin/bash" ]; then - echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.bashrc -fi -# bashrc case 2 -if [ $SHELL = "/bin/bash" ]; then - echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.bashrc -fi - -# collects all the information needed to execute the rsync command and creates it. -echo -e "$collect \n" -sleep 1 -echo -e "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir \n" -sleep 1 - -# enter the rsync command in Backuppy.sh -echo "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir" >> Backuppy.sh - -# Outro -echo -e "$outro1" -sleep 2 -echo "$outro2"