Små søde scriptfiler

Få hjælp til at sætte programmer eller funktioner op.
laoshi
Redaktør
Indlæg: 5515
Tilmeldt: 26. apr 2008, 20:52
IRC nickname: laoshi
Geografisk sted: Vejle

Re: Små søde scriptfiler

Indlæg af laoshi »

Og hvorfor skal der være ". " foran kommandoen i prompten

~/.bashrc og ~/.bash_aliases bliver indlæst ved login, og ændringer registreres først ved genstart. Men du gennemfører en genindlæsning af de to filer ved

Kode: Vælg alt

. .bashrc
og

Kode: Vælg alt

. .bash_aliases
- forudsat at du altså står i /home når du giver kommandoen.

Kode: Vælg alt

 .
foran filnavnet bevirker at filen er skjult og det første

Kode: Vælg alt

.
foran det skjulte filnavn er det som får genindlæsningen til at gå i gang.
De to filer er som standard placeret i /home - hvis du flytter dem andre steder hen, så skal du angive stien til filerne i dit script. Det samme gælder, hvis scriptet køres fra en anden placering.
"Von guten Mächten wunderbar geborgen
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"

(Dietrich Bonhoeffer 1906-1945)

http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
laoshi
Redaktør
Indlæg: 5515
Tilmeldt: 26. apr 2008, 20:52
IRC nickname: laoshi
Geografisk sted: Vejle

Re: Små søde scriptfiler

Indlæg af laoshi »

Og her er så et script som kan det, du efterlyste. Jeg kalder det ff.sh. Du kan tilføje flere valgmuligheder inden for case-esac:

Kode: Vælg alt

#!/bin/bash
#Scriptet åbner firefox med kommandoen ff.sh og den side som angives i argumentet ved hjælp af u,a eller s. Hvis der ikke angives noget argument åbnes firefox med din startside
if [ -z $1 ]
then
  `firefox &`
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"u") `firefox https://ubuntudanmark.dk/forum &`;;
"a") `firefox https://ubuntudanmark.dk/forum/search.php?search_id=active_topics &`;;
"s") `firefox http://stromata.dk &`;;
esac
"Von guten Mächten wunderbar geborgen
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"

(Dietrich Bonhoeffer 1906-1945)

http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Små søde scriptfiler

Indlæg af Jakob77 »

laoshi skrev:Og her er så et script som kan det, du efterlyste. Jeg kalder det ff.sh. Du kan tilføje flere valgmuligheder inden for case-esac:

Kode: Vælg alt

#!/bin/bash
#Scriptet åbner firefox med kommandoen ff.sh og den side som angives i argumentet ved hjælp af u,a eller s. Hvis der ikke angives noget argument åbnes firefox med din startside
if [ -z $1 ]
then
  `firefox &`
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"u") `firefox https://ubuntudanmark.dk/forum &`;;
"a") `firefox https://ubuntudanmark.dk/forum/search.php?search_id=active_topics &`;;
"s") `firefox http://stromata.dk &`;;
esac



Du er en guttermand, det er et KÆMPE skridt fremad..! :D

Er der nogen bestemt, som vi skal give æren i scriptet ud over mig som plageånd og dig som Linuxprofessor.... - hvem er geniet.. er det een af dine tykke bøger..?




Yes we can..! :D




Men disse to linjer i "aliasupd.sh", de vil altså blive ved med at drille på trods af flere gode forklaringer.

~/. .bash_aliases
~/. .bashrc

Terminalen svarer:

line 37: /home/mit_brugernavn/.: is a directory
line 38: /home/mit_brugernavn/.: is a directory

Når en fil indlæses i systemet, er det så det samme, som at den bliver kørt..?

Hvis ja, så skal jeg måske fjerne ". " i begyndelsen af hver linje og sikre, at de to scripts er kørbare.
Men jeg tør ikke at gøre dem kørbare kun på en formodning.
De er ikke kørbare nu, men det er måske muligt, at de har været det og jeg ved en fejl er kommet til at fumle det væk igen.






Tilføjet nogle timer senere:


Det er stort at få åbnet sådan en dør efter at være kørt fast.
Jeg kunne slet ikke sove i nat, fordi jeg drømte om flere åbne døre og forskellige spændende brugerflader til et nyt Menusystem.
F.eks. et lille terminalvindue, som bliver indbygget i skrivebordet og i øverste højre hjørne af filhåndteringen(Steder > Maskine).
Men prøv også at forestille dig en integration med en specialbygget Midnight Commander.
Med den kan man både se alle filer, og man kan skrive en kommando direkte i terminalen, og vil man editere en fil, så hitter man lige F4 osv. osv. Hvis Midnight Commander er lovligt programmeret, og den altid må køre i baggrunden til diverse programmer, så vil det med lidt tilpasning være en fantastisk mulighed, tror jeg. :)


Nå, men se nu også en sød lille "ged" jeg er begyndt at flaske op:


Nu skal jeg f.eks. bare skrive "ged ss mmm" og Gedit vil så åbne scriptet "mmm.sh" samt skabelon.sh (en huskefil med scriptskabeloner) samt aliaslisten (~/Menu/system/aliascfg/.bash_aliases)

Kode: Vælg alt

#!/bin/bash
#Grundstammen i dette script er skaffet til veje via Ubuntu-Danmark.dk https://ubuntudanmark.dk/forum/viewtopic.php?p=39956#p39956
#Scriptet åbner Gedit med kommandoen "ged.sh" og med argumenter i følge hjælpen nederst ("-h" argumentet).
if [ -z $1 ]
then
  `gedit %U`
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"s") `gedit ~/Menu/skabelon.sh ~/Menu/system/aliascfg/.bash_aliases`;;
"ss") `gedit ~/Menu/$2.sh ~/Menu/skabelon.sh ~/Menu/system/aliascfg/.bash_aliases`;;
"-h") `echo Kommandoen åbner gedit editoren - Options: (ged s) åbner skabelonen i Menu-mappen samt aliaslisten; (ged ss menufilfilfornavn) åbner skabelon + menufilen i Menu-mappen samt aliaslisten`;;
esac


Den er ikke færdig endnu, og hvorfor virker "echo" mon ikke..?

Men det er allerede en kæmpe lettelse frem for at cykle rundt med musen. :D :D
laoshi
Redaktør
Indlæg: 5515
Tilmeldt: 26. apr 2008, 20:52
IRC nickname: laoshi
Geografisk sted: Vejle

Re: Små søde scriptfiler

Indlæg af laoshi »

er det een af dine tykke bøger..?
nej, denne gang er det mest en vis portion stædighed samt http://www.freeos.com/guides/lsst/

~/. .bash_aliases
prøv

Kode: Vælg alt

. ~/.bash_aliases
- det første punktum loader filen, så det er efter det at der skal være et ophold efterfulgt af (stien til) filnavnet

Note til scriptet:
[*]den første if-sætning undersøger om der er angivet et argument - og hvis der ikke er, så åbnes firefox
[*]hvis der derimod er et argument, så gemmes det i variabel nr. 1 med navnet arg
[*]case-esac undersøger så i rækkefølge om arg indeholder "u", "a" eller "s" for så åbnes firefox med den valgte side.
"Von guten Mächten wunderbar geborgen
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"

(Dietrich Bonhoeffer 1906-1945)

http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Små søde scriptfiler

Indlæg af Jakob77 »

laoshi skrev: prøv

Kode: Vælg alt

. ~/.bash_aliases
- det første punktum loader filen, så det er efter det at der skal være et ophold efterfulgt af (stien til) filnavnet


Den syntaks gik igennem uden brok fra terminalen for begge linjer.
Men jeg ved ikke helt endnu, om de virker straks på alias, eller om jeg skal boote om først.
Jeg har måske brugt lidt for mange uartige kommandoer de sidste dage, for jeg har lidt ustabilitet i maskinen. Når jeg f.eks. kører copytobin, og alle filerne bliver overskrevet, så følger rettighederne ikke med, så en ukørbare fil bliver ikke kørbar. Det er meget mystisk, synes jeg.


laoshi skrev:Note til scriptet:
[*]den første if-sætning undersøger om der er angivet et argument - og hvis der ikke er, så åbnes firefox
[*]hvis der derimod er et argument, så gemmes det i variabel nr. 1 med navnet arg
[*]case-esac undersøger så i rækkefølge om arg indeholder "u", "a" eller "s" for så åbnes firefox med den valgte side.


Ja, det er genialt. :)

Så jeg tror næsten, at jeg vil lade solen skinne og vente lidt med at spørge om, hvordan skabelonen skal ændres, hvis den skal starte "firefox $1" hvis $1 har en værdi, som hverken stemmer overens med "u" "a" eller "s". :wink:
laoshi
Redaktør
Indlæg: 5515
Tilmeldt: 26. apr 2008, 20:52
IRC nickname: laoshi
Geografisk sted: Vejle

Re: Små søde scriptfiler

Indlæg af laoshi »

Men jeg ved ikke helt endnu, om de virker straks på alias, eller om jeg skal boote om først.

Så snart kommandoen er kørt er bash_aliases genindlæst.
vente lidt med at spørge om, hvordan skabelonen skal ændres, hvis den skal starte "firefox $1" hvis $1 har en værdi, som hverken stemmer overens med "u" "a" eller "s"

men svaret kan du få med det samme. Du skal som sidste option tilføje * som variablens indhold. Og du skal ikke bruge "" omkring *, for så er det tegnet * som udløser kommandoen, og ikke tegnet 'hvad som helst andet end u,a eller s':

Kode: Vælg alt

#!/bin/bash
#Scriptet åbner firefox med kommandoen ff.sh og den side som angives i argumentet ved hjælp af u,a eller s. Hvis der ikke angives noget argument åbnes firefox med din startside
if [ -z $1 ]
then
  `firefox &`
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"u") `firefox https://ubuntudanmark.dk/forum &`;;
"a") `firefox https://ubuntudanmark.dk/forum/search.php?search_id=active_topics &`;;
"s") `firefox http://stromata.dk &`;;
*)  `firefox &`
esac
"Von guten Mächten wunderbar geborgen
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"

(Dietrich Bonhoeffer 1906-1945)

http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Små søde scriptfiler

Indlæg af Jakob77 »

laoshi skrev:

Kode: Vælg alt

#!/bin/bash
#Scriptet åbner firefox med kommandoen ff.sh og den side som angives i argumentet ved hjælp af u,a eller s. Hvis der ikke angives noget argument åbnes firefox med din startside
if [ -z $1 ]
then
  `firefox &`
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"u") `firefox https://ubuntudanmark.dk/forum &`;;
"a") `firefox https://ubuntudanmark.dk/forum/search.php?search_id=active_topics &`;;
"s") `firefox http://stromata.dk &`;;
*)  `firefox &`
esac


Det ser ud til at være super godt, det er nok den variant, der bliver allermest brug for. :D

Hvad mener du, om min hjælpefunktion ("-h"), hvad gør jeg forkert med "echo"..?



Og så har jeg tænkt noget mere over det med valg af filnavne til kørbare scripts.
Mit nuværende system er vist ikke sikkert nok, fordi jeg ikke har mappen usr/local/bin for mig selv.
Der kan nemt komme et program, som overskriver mine filer, eller måske endnu værre, at jeg senere overskriver nogle installerede programfiler, fordi de hedder det samme som mine.
Det tegner til at blive noget rod, så jeg må nok finde på noget bedre.

Måske findes der også en international liste, hvor forskellige programudviklere orienterer om, hvilke filnavne de bruger i PATH'en..?

Jeg har hidtil brugt terminalen, hvor jeg kalder kommandoen med option "-h" for at se, om kommandoen i forvejen eksisterer.
Terminalen tjekker fint lokalt og endda også imponerende meget længere, men jeg tror alligevel ikke, at det er sikkert nok.
laoshi
Redaktør
Indlæg: 5515
Tilmeldt: 26. apr 2008, 20:52
IRC nickname: laoshi
Geografisk sted: Vejle

Re: Små søde scriptfiler

Indlæg af laoshi »

Hvad mener du, om min hjælpefunktion ("-h"), hvad gør jeg forkert med "echo"..?

Du skal ikke skrive

Kode: Vælg alt

"-h") `echo Kommandoen åbner gedit editoren - Options: (ged s) åbner skabelonen i Menu-mappen samt aliaslisten; (ged ss menufilfilfornavn) åbner skabelon + menufilen i Menu-mappen samt aliaslisten`;;

men

Kode: Vælg alt

"-h") echo "Kommandoen åbner gedit editoren - Options: (ged s) åbner skabelonen i Menu-mappen samt aliaslisten; (ged ss menufilfilfornavn) åbner skabelon + menufilen i Menu-mappen samt aliaslisten";;

De små backticks (`) kalder en programfunktion f.eks. `date` eller som her `firefox &`

I øvrigt kan du lave en slags debugging af dine scripts, hvis du som første udførbare linje skriver

Kode: Vælg alt

set -x

Når du så kalder scriptet fra terminalen får du et output med + foran linjer som er ok og - eller fejlmelding foran problematiske linjer.

Du behøver ikke være bange for at lægge dine egne scripts i /usr/local/bin som netop er beregnet til den slags. Der er jo en /bin og en /usr/bin til ikke-egne udførbare filer.
Men du kan jo lave en ~/bin til at indeholde scripts som du eksperimenterer med og så vælge først at flytte dem til /usr/local/bin når du er tilfreds med dem.
"Von guten Mächten wunderbar geborgen
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"

(Dietrich Bonhoeffer 1906-1945)

http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Små søde scriptfiler

Indlæg af Jakob77 »

laoshi skrev:De små backticks (`) kalder en programfunktion f.eks. `date` eller som her `firefox &`


Nu troede jeg lige, at jeg havde forstået en hel masse mere.
I DOS sondrer man mellem interne og eksterne kommandoer. De interne ligger i loadet i ram og har ikke tilknyttet en fil, hvorimod en ekstern kommando altid har tilknyttet en fil, og det er dens fornavn, man kalder med kommandoen.
Så troede jeg lige, at echo var en intern kommando og derfor ikke skulle have små brackets. Men for en sikkerheds skyld, så kørte jeg lige kommandoen "whereis echo" og ups, den har også en fil og det tyder derfor også på, at det er et program. Og hvad er forskellen så egentlig, når det kommer til stykket..? .. Hrmpf.. :wink:





laoshi skrev:Du behøver ikke være bange for at lægge dine egne scripts i /usr/local/bin som netop er beregnet til den slags. Der er jo en /bin og en /usr/bin til ikke-egne udførbare filer.
Men du kan jo lave en ~/bin til at indeholde scripts som du eksperimenterer med og så vælge først at flytte dem til /usr/local/bin når du er tilfreds med dem.


Det er jo præsist det jeg allerede gør. Min mappe til eksperimenter hedder bare "~/Menu" i stedet for "~/bin"

Prøver du i virkeligheden at fortælle mig, at jeg bør ændre dens navn til "bin" og i givet fald hvorfor ..?

Jeg kan godt se, at navnet "bin" passer bedre til systemets terminologi, men det er jo meningen, at det skal være en brugermappe, som fanger nybegynderens blik og giver lyst til et besøg. Der skal så ligge en readme.fil og en help.fil og lidt andet godt at komme igang på.
Men bliver der engang bevilget en original-PATH til mappen, så er det måske noget skidt, at den indeholder store bogstaver..?

Jeg spekulerer meget over navnevalg og mappestruktur, så du skal ikke putte med en eventuel kritik. Kompatibiliteten skal gerne optimeres krakilsk. :)
Efter min mening er det altså noget rod, hvis jeg installerer et program under Tilføj/fjern, og det f.eks. ikke kan komme til at lægge en "ff.sh"-fil , fordi min fil med samme navn ligger der i forvejen.



Og så har jeg som sædvanlig nogle flere kommandoer, som driller i scripts. Eller også har det denne gang noget at gøre med min maskine eller noget andet, som jeg ikke ved, for jeg synes, at det virker lidt mystisk.

Jeg har tilføjet "-f" argumentet til "cp" i copytobin.sh , men det hjælper ikke. Det lykkes stadig ikke at overskrive rettighederne på en fil i usr/local/bin

copytobin.sh, som den ser ud lige nu:

Kode: Vælg alt

#!/bin/bash
#
#Denne fil har til formål at opdatere systemet, så menufilerne i mappen "Menu" bliver lagt et sted, hvor der er PATH, og at opdatere tilføjede alias, og at tage backup af filer i mappen "Menu".
#
#
#Nedenstående linje tager backup/kopi af filerne i mappen "Menu" og Kopierer dem til home/mit_brugernavn/Menu/system/menubak
cp ~/Menu/* ~/Menu/system/menubak
#
#
#Nedenstående linje Kopierer alle ".sh" filer fra mappen "Menu" til usr/local/bin  hvortil, der default er PATH
sudo cp -f ~/Menu/*.sh /usr/local/bin/
#
#
#Nedenstående linje kalder "aliasupd.sh" , som opdaterer de alias til permanent, som er MANUELT tilføjet i home/mit_brugernavn/Menu/system/aliascfg/.bash_aliases
~/Menu/system/aliascfg/aliasupd.sh



Og aliasupd.sh vil stadig ikke loade nye alias , uden jeg booter om.

Kommandoerne i aliasupd.sh:

Kode: Vælg alt

#!/bin/bash
cp ~/Menu/system/aliascfg/.bash_aliases ~/
. ~/.bash_aliases
. ~/.bashrc




Det næste script er ikke testet grundigt endnu, og jeg har lidt problemer med at få "sudo" til at virke sikkert via scriptet.
Men du skal altså se, hvad din sidste inspiration blandt andet fører til:

Jeg har kaldt scriptet "mcm.sh"

Kode: Vælg alt

#!/bin/bash
#Grundstammen i dette script er skaffet til veje via Ubuntu-Danmark.dk https://ubuntudanmark.dk/forum/viewtopic.php?p=39956#p39956
#Dette script er beregnet til at starte Midnight Commander i en ønsket mappe.
if [ -z $1 ]
then
  mc
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"h") mc ~/;;
"d") mc ~/Dokumenter;;
"m") mc ~/Menu;;
"s") sudo mc /;;
"-h") echo "Kommandoen starter Midnight Commander (filhåndtering); mcm h starter MC i hjemmemappen; mcm d i mappen Dokumenter; mcm m i mappen Menu; mcm s starter superbrugermode";;
*) mc $1 $2 $3
esac



Der skal stadig spekuleres meget over sikkerhed og kompatibilitet og filnavnevalg og navne til argumenterne.

Men for tastaturfumlerens brugerkomfort er der nu seriøst ved at blive lagt op til det ene tigersfrempring efter det andet. :D
cmay
Indlæg: 461
Tilmeldt: 24. feb 2009, 22:45

Re: Små søde scriptfiler

Indlæg af cmay »

Det er jo præsist det jeg allerede gør. Min mappe til eksperimenter hedder bare "~/Menu" i stedet for "~/bin"

Prøver du i virkeligheden at fortælle mig, at jeg bør ændre dens navn til "bin" og i givet fald hvorfor ..?

jeg har en mappe der hedder bin som jeg har oprettet hvori alle mine scripts til at installere media codecs osv osv ligger i. i ubuntu 8.10
er den mappe allerede i path så hvis du opretter den mappe kan du nøjes med at ligge din scriptfil i mappen efter chmod 755 også kalde den fra commandolinjen uden at sætte ./ foran scriptnavnet. hvilket vil sige at scriptet ligner ligepludsligt fra brugeres synpunkt ligner en hvilken som helst anden kommando som kaldes fra terminalen.
har grå stær. forklare mine (ofte) stavefejl

Kode: Vælg alt

#include <stdio.h>
int main(int argc, char** argv) { int beer; for(beer = 100;beer > 0; beer--)printf("%d bottles of beer%s on the wall take %d down and pass it around \n",beer,beer == 1 ? "":"s",beer -1); return 0;}
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Små søde scriptfiler

Indlæg af Jakob77 »

cmay skrev:
Det er jo præsist det jeg allerede gør. Min mappe til eksperimenter hedder bare "~/Menu" i stedet for "~/bin"

Prøver du i virkeligheden at fortælle mig, at jeg bør ændre dens navn til "bin" og i givet fald hvorfor ..?

jeg har en mappe der hedder bin som jeg har oprettet hvori alle mine scripts til at installere media codecs osv osv ligger i. i ubuntu 8.10
er den mappe allerede i path så hvis du opretter den mappe kan du nøjes med at ligge din scriptfil i mappen efter chmod 755 også kalde den fra commandolinjen uden at sætte ./ foran scriptnavnet. hvilket vil sige at scriptet ligner ligepludsligt fra brugeres synpunkt ligner en hvilken som helst anden kommando som kaldes fra terminalen.


Mange tak fordi du kan forklare mig, hvad Laoshi mener, så jeg kan forstå det. :D

Hvis man opretter mappen "~/bin" , så vil Ubuntu af sig selv oprette en PATH til den mappe næste gang man booter op.
Det er jo umiddelbart fantastisk godt og enkelt, hvis man kan have den for sig selv.


Men desværre bliver mappen lagt allerførst i PATH'en, og det er jeg ikke så glad for.
Hvis jeg laver et script med et dumt navn, så kan jeg risikere at Ubuntu vælger at køre mit script i stedet for den rigtige fil af samme navn, som ligger længere henne i søgestien.


PATH=/home/mit_brugernavn/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games




Denne kommando ser ud til at kunne gøre en PATH gældende i en terminal så længe der arbejdes i den:

Kode: Vælg alt

PATH=$PATH:$HOME/Menu/min_PATH-mappe

(EDIT: Men kun så længe, at scriptet, hvori kommandoen gives, stadig kører.)


I øjeblikket overvejer jeg at gå over til at starte terminalen ("gnome-terminal") via et script, men jeg skal nok først læse noget mere på "man bash"
Den skal gerne starte maksimeret med den rigtige PATH, og der er også noget med de forskellige programmers terminaladfærd, som jeg ikke har styr på endnu.
Midnight Commander lægger sig smukt i terminalvinduet, men Firefox springer ud af terminalvinduet, og vil jeg f.eks. køre et script via [Alt F2.] så virker det ikke.
Så der er fortsat en del spændende nødder at knække, hvis jeg skal have det til at køre, som jeg gerne vil. :)
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Små søde scriptfiler

Indlæg af Jakob77 »

laoshi skrev:Og her er så et script som kan det, du efterlyste. Jeg kalder det ff.sh. Du kan tilføje flere valgmuligheder inden for case-esac:

Kode: Vælg alt

#!/bin/bash
#Scriptet åbner firefox med kommandoen ff.sh og den side som angives i argumentet ved hjælp af u,a eller s. Hvis der ikke angives noget argument åbnes firefox med din startside
if [ -z $1 ]
then
  `firefox &`
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"u") `firefox https://ubuntudanmark.dk/forum &`;;
"a") `firefox https://ubuntudanmark.dk/forum/search.php?search_id=active_topics &`;;
"s") `firefox http://stromata.dk &`;;
esac




Det er længe siden, og jeg har for mit vedkommende i dag ophøjet scriptet til den fine betegnelse "det gamle paradigme".

Selvom ikke alle har været glade for koden, så kom ingen med noget bedre, og historien har nu efter min mening gjort skepsis til skamme.
Jeg husker umiddelbart ikke noget styresystem eller noget andet program, der har fungeret perfekt og uforandret i mere end seks år.
En bruger hos mig kører stadig med det, og det virker fortsat fint som programstarter til f.eks. Firefox og Gedit.

Til gengæld mener jeg at have erfaret, at der i koden ligger en begrænsning, så det gamle paradigme nødigt vil køre underscripts og visse kommandoer.
Og det ser nu også ud til, at vi med hjælp fra AJenbo faktisk har fået et endnu bedre nyt paradigme:

https://ubuntudanmark.dk/forum/viewtopic.php?p=141909#p141909

samme nye paradigme tilgrumset af mig til brug i praksis:
https://ubuntudanmark.dk/forum/viewtopic.php?p=142107#p142107


Jeg håber selvfølgelig, at du har lyst til bruge din forum erfaring til at hjælpe med at krydstjekke de nye scripts og deres funktioner.

Men ellers er du og andre læsere, som evt. overvåger denne tråd, i hvert fald nu orienteret om eksistensen af et nyt paradigme. :)