Permalänk

Bash script, synpunkter?

Hej!

Har knåpat lite i bash nu och undrar om nån kan tycka till om scriptet?

Meningen är att installera x på xfce med mozilla, jag har tänkt använda det på några skol datorer i ett litet windows 98 to linux debian projekt, ska nog få en dator och leka på kanske!

#!/bin/bash # Jag har faktiskt snott ganska mycket, eller rättare sagt "inspirerats" av ett # script som finns på ubuntuforums.org. Mycket creds till dom killarna/tejerna! # en errror checker från det där ubuntuscripet som jag använder till att kolla av saker med check_errs() { if [ "${1}" -ne "0" ]; then echo "ERROR # ${1} : ${2}" exit ${1} fi } # Lite options som anger alias osv.. ### global options ### wget="/usr/bin/wget" apt="/usr/bin/apt-get" core_packages="build-essential" xwindows_packages="lbxproxy proxymngr twm x-window-system-core xfs xfwp xnest xprt-xprintorg xterm xvfb" xfce_packages="xfce4" media_packages="mozilla-firefox" ## Nu börjar scriptet på riktigt som.... ${apt} update check_errs $? "There was an error in apt-get update." sleep 5 echo "Det kan hända att extra packet måste installeras, tryck ja i fall du blir tillfrågad, detta gäller även under hela installastionen" ${apt} install ${core_packages} check_errs $? "There was an error in ${core_packages} installation." sleep 5 echo "Nu kommer X-grafik system att installeras" $(apt) install ${xwindows_packages} check_errs $? "Tyvärr så har det uppståt ett problem, kontakta sysadmin(x-windows)" echo "Nu kommer Fönsterhateraren installeras" $(apt) install ${xfce_packages} check_errs $? "Tyvärr så har det uppståt ett problem, kontakta sysadmin (xfce)" echo "Nu kommer den ultimata webbläsaren installeras" $(apt) install ${xwindows_packages} check_errs $? "Tyvärr så har det uppståt ett problem, kontakta sysadmin (mozilla)" echo "Nu hälsar Filleokus dig välkommen till ett nytt Debian powerd system" echo "Kom ihåg att genast starta om datorn"

Visa signatur

Macbook Vit | Macbook Unibody | D80 | iPod Touch | iPhone 3GS

Permalänk

Personligen brukar jag använda versaler till variabelnamn, för att lättare särskilja dem från vanliga kommandon.

Permalänk

ursäkta, men kan du ge ett exempel. Men det är väl inte nått
som gör så att det inte funkar

Visa signatur

Macbook Vit | Macbook Unibody | D80 | iPod Touch | iPhone 3GS

Permalänk
Medlem

Nej, det fungerar både med gemenr och versaler.

Men det är mycket vanligt att variabler i script skrivs med versaler.

Ex:
WGET="/usr/bin/wget"
APT="/usr/bin/apt-get"

${APT} update
check_errs $? "There was an error in apt-get update."
sleep 5

Visa signatur

Kriga mot min brute: http://gunnard.se.mybrute.com om du vågar :D

Permalänk

Eftersom man aldrig kan veta om var en binär är mellan distributioner (ala /usr/local och liknande) så är det bättre att skriva följande:

WGET="`which wget`"

Visst, du ska bara använda det till Ubuntu, men det är bäst att lära sig skripta bra på en gång...

Permalänk
Medlem

Re: Bash script, synpunkter?

Citat:

Ursprungligen inskrivet av Filleokus

echo "Nu kommer den ultimata webbläsaren installeras"
$(apt) install ${xwindows_packages}
check_errs $? "Tyvärr så har det uppståt ett problem, kontakta sysadmin (mozilla)"

echo "Nu hälsar Filleokus dig välkommen till ett nytt Debian powerd system"
echo "Kom ihåg att genast starta om datorn"

ska vara media_packages va?

Edit:
Schysst grej annars. Sk jag ha i åtanke nästa gång det är dags att installera om..=)

Visa signatur
Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Sachankara
Eftersom man aldrig kan veta om var en binär är mellan distributioner (ala /usr/local och liknande) så är det bättre att skriva följande:

WGET="`which wget`"

Visst, du ska bara använda det till Ubuntu, men det är bäst att lära sig skripta bra på en gång...

Varför inte bara använda "wget" direkt isåfall? which kollar efter wget i PATH, precis som shellet skulle gjort om du bara körde det direkt.

Permalänk
Citat:

Ursprungligen inskrivet av peritus
Varför inte bara använda "wget" direkt isåfall? which kollar efter wget i PATH, precis som shellet skulle gjort om du bara körde det direkt.

Jo, det borde väl vara mer logiskt faktiskt... Denna gång tänkte jag inte allt för långt...

Permalänk
Medlem

Re: Bash script, synpunkter?

Citat:

Ursprungligen inskrivet av Filleokus

echo "Nu hälsar Filleokus dig välkommen till ett nytt Debian powerd system"
echo "Kom ihåg att genast starta om datorn"[/code]

Skulle du inte kunna ta bort det och istället logga ur root och köra startx(fe) som deras user direkt?

Du skulle också kunna köra apt-get med växlen -y;
Automatic yes to prompts; assume "yes" as answer to all prompts and run non-interactively.

Sen använder du inte ens wget så den kan du ta bort helt

Permalänk

Jag ska dra in mer saker i scriptet där wget kommer användas, men för att kunna använda det så måste jag ju installera det först.

Smart det där med apt-get -y, det kommer jag köra.
Ang media package, nej det är så det heter i det scriptet men nu har jag döpt om det till xwindows package.

ok ska andra det där om wget till WGET osv..

Visa signatur

Macbook Vit | Macbook Unibody | D80 | iPod Touch | iPhone 3GS

Permalänk
Medlem

För att vara lite petig bara, kontrollera dina stavfel, det är en hel del, exempelvis: "installastion", "uppståt" etc.

//fog

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
Medlem

Re: Bash script, synpunkter?

Här har du en dubbel install av samma sak. Skall inte den webläsaren ha media_packages?

echo "Nu kommer den ultimata webbläsaren installeras" $(apt) install ${xwindows_packages} check_errs $? "Tyvärr så har det uppståt ett problem, kontakta sysadmin (mozilla)" echo "Nu kommer X-grafik system att installeras" $(apt) install ${xwindows_packages} check_errs $? "Tyvärr så har det uppståt ett problem, kontakta sysadmin(x-windows)"

Mvh Dax

Visa signatur

En trött jäkel.

Permalänk

Ojj tack så mycket såg inte det (media_packages), ska kolla mina stavfel. Det kommer en uppdaterad version snart

Visa signatur

Macbook Vit | Macbook Unibody | D80 | iPod Touch | iPhone 3GS