Arch Autoinstallscript

betaros

betaros

Computerspezi
Moin,

da es mich immer stört bei der Arch-installation immer das gleiche einzutippen und zu warten dachte ich mir, ich bastel mir ein Script welches die Installation automatisch für mich durchführt. Leider bin ich noch blutiger Anfänger in Shellscripten. Ich habe mir einfach nur etwas von den Codeschnipseln im Netz und den Manpages zusammen gebastelt.

Code:
#!/bin/bash

echo "Vergewissere dich, dass du einen Nutzer angelegt hast"
echo "und eine Internetverbindung steht!"
echo "Bestätigen(j/n):"
	read start
	
	case $start in
		j) ;;
		*) exit;;
	esac 

echo "NVIDIA  = 1"
echo "ATI     = 2"
echo "INTEL   = 3"
    read graka

if [$graka != 1 && $graka != 2 && $graka != 3]
	then exit
fi

echo "Gnome   = 1"
echo "KDE     = 2"
echo "Xfce    = 3"
echo "Fluxbox = 4"
echo "Openbox = 5"
	read de

pacman -Syu --noconfirm
pacman -S xorg --noconfirm
Xorg -configure

	case $graka in
        1) pacman -S nvidia --noconfirm;nvidia-xconfig;;
        2) pacman -S catalyst --noconfirm;;
        3) pacman -S intel --noconfirm;;
        *) exit;;
	esac
pacman -S alsa-utils --noconfirm

	case $de in
		1) pacman -S gnome gnome-extra --noconfirm;;
		2) pacman -S kde --noconfirm;;
		3) pacman -S xfce --noconfirm;;
		4) pacman -S fluxbox --noconfirm;;
		5) pacman -S openbox --noconfirm;;
		*) exit;;
	esac

sh programs.sh
poweroff

Bestimmt gibt es noch einiges verbesserungswürdiges, aber jeder fängt ja mal klein an :D

//EDIT: Hab die Frage voll vergessen :D
Bei der if-Schleife gibt er mir als Fehler immer folgendes aus:
Code:
[betaros@archtux shell]$ ./autoinstall 
Vergewissere dich, dass du einen Nutzer angelegt hast
und eine Internetverbindung steht!
Bestätigen(j/n):
j
NVIDIA  = 1
ATI     = 2
INTEL   = 3
6
[B]./autoinstall: Zeile 18: [6: Kommando nicht gefunden.[/B]
Gnome   = 1
KDE     = 2
Xfce    = 3
Fluxbox = 4
Openbox = 5

Und dann geht er weiter im Quelltext, obwohl er durch die falsche Eingabe doch das Shellskript stoppen sollte... Weiß jemand Rat?

mfg
betaros
 
Zuletzt bearbeitet:
Moin,

ich hab im LUG Hilfe bekommen :D

Hier ist die richtige Version:
Code:
#!/bin/bash

echo "Vergewissere dich, dass du einen Nutzer angelegt hast"
echo "und eine Internetverbindung steht!"
echo "Bestätigen(j/n):"
	read start
	
	case $start in
		j) ;;
		*) exit;;
	esac 

echo "NVIDIA  = 1"
echo "ATI     = 2"
echo "INTEL   = 3"
    read graka

[B]if [[$graka != 1 && $graka != 2 && $graka != 3]][/B]
	then exit
fi

echo "Gnome   = 1"
echo "KDE     = 2"
echo "Xfce    = 3"
echo "Fluxbox = 4"
echo "Openbox = 5"
	read de

pacman -Syu --noconfirm
pacman -S xorg --noconfirm
Xorg -configure

	case $graka in
        1) pacman -S nvidia --noconfirm;nvidia-xconfig;;
        2) pacman -S catalyst --noconfirm;;
        3) pacman -S intel --noconfirm;;
        *) exit;;
	esac
pacman -S alsa-utils --noconfirm

	case $de in
		1) pacman -S gnome gnome-extra --noconfirm;;
		2) pacman -S kde --noconfirm;;
		3) pacman -S xfce --noconfirm;;
		4) pacman -S fluxbox --noconfirm;;
		5) pacman -S openbox --noconfirm;;
		*) exit;;
	esac

sh programs.sh
poweroff

Ich melde mich wieder, wenn ich das Skript fertig habe :D

Aber da soll mal einer drauf kommen, dass man zweimal [[ und ]] machen muss...

mfg
betaros
 

Ähnliche Themen

ip6tables Problem

Keine grafische Oberfläche (Debian Installation)

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Runlevel Editor

Raspbian: Starten einer Java-GUI Anwendung beim Systemstart (JBidWatcher)

Zurück
Oben