ged i Ubuntu..?

Få hjælp til at sætte programmer eller funktioner op.

Vil du gerne modtage flere script-eksempler sammen med Ubuntu, f.eks. en ged.sh..?

Ja, det er meget vigtigt.
4
21%
Ja, det er OK.
2
11%
Jeg er ligeglad.
2
11%
Nej tak.
4
21%
Nej, jeg bryder mig ikke om terminalen og vil helst ikke bruge den.
0
Ingen stemmer
Nej, jeg vil ikke have en byte af det skrammel på min computer.
3
16%
Nej, der er i forvejen ged nok i Ubuntu.
0
Ingen stemmer
Jeg mangler en svarmulighed.
1
5%
Jeg forstår ikke, hvad afstemningen går ud på.
3
16%
Ved ikke.
0
Ingen stemmer
 
Afgivne stemmer: 19

Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

ged i Ubuntu..?

Indlæg af Jakob77 »

Hvis du mangler en svarmulighed, så må du meget gerne skrive et indlæg, hvor du uddyber din holdning.



Perspektivet:

Gode scripts, som næsten ingenting fylder, kan gøre fantastiske ting på din computer, så noget meget besværligt pludseligt bliver meget nemt.

Jeg har tidligere forklaret, hvordan vi med et script kan få Firefox til at åbne en stribe ubuntuadresser kun ved at skrive "f u" i terminalen og trykker enter, eller vi kan åbne en stribe DR-adresser med "f dr" osv... - Det er genveje, der rykker..!
(Nej, det virker ikke på din computer, for du har jo ikke scriptet endnu.)



Men denne gang vil jeg gå lidt mere i dybden med ged.sh , som jeg håber vil få alle klokker til at ringe hos dem, som har haft brug for at rode med systemfiler.




Forestil dig, at der medfølger et script til Ubuntu, og det kan gøre følgende:


I terminalen skriver du "ged alias"

Den kommando kører scriptet "ged.sh" med option "alias"

I scriptet står der, at når der bruges option "alias", så åbner "gedit" (Ubuntus editor) alle de systemfiler, der har noget at gøre med ændring af alias + der åbnes en hjælpefil, som fortæller, hvad man skal ændre i de forskellige systemfiler, hvis man vil ændre opsætning for alias.
Man kan så klikke på Gedits faneblade og zappe mellem hjælp og sytemfiler og ændre, hvad man synes.

Er det genialt..? - Ja, det synes jeg bestemt..! :)

Men hvis andre synes, at det er nemmere at huske filnavne og rettelser i hovedet eller at spørge i forum og cykle rundt på disken efter de forskellige filer, så vil den mulighed jo fortsat stå åben.
Jeg taler for en valgfri tilbygning af scripts, ikke en erstatning.



Tilsvarende kan gøres ved ændring af PATH og garanteret også en lang række andre ting, som jeg ikke kender endnu, fordi jeg er ny med Ubuntu.
Derfor håber jeg, at de dygtige Ubuntufolk vil opfede den her ged.sh og lave hjælpefiler, så den bliver stor og stærk.



Første udkast (hele scriptet ged.sh står til kritik for forbedringer, jeg kender ikke selv dets præcise begrænsninger):


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/option).
if [ -z $1 ]
then
  `gedit %U`
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"alias") `gedit ~/.bash_aliases ~/.bashrc ~/Menu/system/aliascfg/alias.hlp`;;
"path") `gedit ~/.bash_profile /etc/profile /root/.bash_profile ~/Menu/system/pathcfg/path.hlp`;;
"-h") echo "Kommandoen åbner gedit editoren, og med specifikke options relavante filer. Options: | alias | path |";;
esac





I scriptet kan du se hvilken kommando, der køres, hvis du vælger en bestemt option.

Vælger du "alias" som option, så køres den tilhørende kommando automatisk i terminalen: gedit ~/.bash_aliases ~/.bashrc ~/Menu/system/aliascfg/alias.hlp

Mere indviklet behøver det såmænd ikke at være for en amatør, der skal forstå det eller vil ændre i det.

Man skal bare ikke rette og gemme systemfiler uden, at man er sikker på, hvad man gør, og hjælpefilen er jo ikke lavet endnu.

Så dette er kun en øjeåbner, der skal vise perspektivet i "ged.sh", hvis den bliver fedet godt op på sund kost af os og Ubuntus eksperter bag kulissen.


Jeg håber, at det denne gang lykkes at få andre end mig selv til at indse, hvor godt det kan blive. :)

Den eneste betænkelighed, jeg kan have omkring "ged.sh", er, om Ubuntu er stabil nok til, at man vil kunne bruge scriptet langt ud i fremtiden.
Det må andre svare på, om der i Ubuntus historie f.eks. hyppigt har været ændret væsentligt på konfigurerebare systemfilers placering, og om der er udsigt til, at det fortsætter.
Er det tilfældet, så kan der evt. linkes fra hjælpefilen til en kontrolguide (en tråd), som så vidt muligt holdes opdateret med eventuelle advarsler.
Men det er måske også endnu et argument for, at den bør udsendes sammen med distributionen. Udpakket fylder filen ikke engang 1 kb endnu.


Ønsker du dig nogle bestemte scripts eller scriptskabeloner, så skriv det meget gerne i denne tråd.
Man kan f.eks. forestille sig en scriptskabelon, hvor det er nemt at indføje forskellige spørgsmål og muligheder.

F.eks. , når man kører en hjemmefusket "opryd.sh", så vil det måske være cool, hvis scriptet svarer:


Tryk "A" hvis du vil rydde op kun for at spare plads.

Tryk "B" hvis du vil rydde op og opgradere Ubuntu.

Tryk "C" hvis du vil A og B og derforuden også opgradere kernen (Kraftig systemkommando, så pas på. Husk backup. Det kan evt. også gøre visse programmer ubrugelige, fordi de bliver forældede.)


Tilsvarende kan man forestille sig et backupscript, hvor man kan vælge mellem en hurtig opdatering eller en helt ny komplet eller delvis backup osv. som man ønsker.
Og en scriptskabelon, der kommer med en advarsel og spørger, om man er helt sikker, eller om man vil fortryde.

Jeg kunne egentlig også godt bruge et script, der kan holde en kommando tilbage, indtil der er forbindelse til internettet, så jeg f.eks. kan sætte radioen til automatisk at spille, når der er oprettet forbindelse.


Hvad ønsker du dig, som et script kan gøre..? :)





PS: Måske kan vi engang mødes internationalt om at oprette en ny mappe i Ubuntu, og bruge den til private og specielle scripts.?

Jeg har foreløbig lagt mig på denne struktur i min hjemmemappe:



Billede



Hvor jeg bruger mappen "Menu" som arbejdsmappe til alle mine brugbare scripts.
I mappen "system" har jeg lagt undermapper til hjælpefilerne, så det skulle være nogenlunde nemt at finde dem.
Jeg har altså lagt det hele under mine private data, som jeg hyppigt tager backup af, så mine scripts aldrig bliver væk.
Det vil sige, at når jeg kommer til en ny installation, så kan jeg bare kopiere min Menu-mappe ind, og så har jeg alle mine scripts klar til brug. :)
Jeg har i mit eksempel for overskuelighedens skyld lavet det sådan, at "ged" åbner systemfilerne direkte. Men i et optimeret menusystem vil jeg nok foretrække, at man skriver en kladde, som ved afslutning automatisk kopieres ud på plads.
Tak fordi du læste så langt. :)
ChrisBuchholz
Indlæg: 333
Tilmeldt: 29. okt 2008, 23:39
IRC nickname: ChrisBuchholz
Geografisk sted: Nyborg, Fyn, Danmark

Re: ged i Ubuntu..?

Indlæg af ChrisBuchholz »

Jeg tror allerede at du kender min holdning til dette, Jakob77, men jeg vil nok alligevel holde øje med hvordan det udarter sig:)

Udover det, så siger du på et tidspunkt "PS: Måske kan vi engang mødes internationalt om at oprette en ny mappe i Ubuntu, og bruge den til private og specielle scripts.?" ... well, denne findes jo allerede. Hvis du opretter en mappe i ~/ ved navn "bin", så næste gang du starter din computer op, vil denne automatisk blive smidt i din path - den er med andre ord designet til at indeholde alle ens hjemmestrikkede scripts.
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: ged i Ubuntu..?

Indlæg af Jakob77 »

.



Et andet lille ønskescript kan måske være "pause.sh". Et script, som med kommandoen "pause 10" holder pause i 10 sekunder og kan afbrydes med [Ctrl + z].
Det må blandt andet kunne bruges til et start-session-script, som man vil være sikker på at kunne afbryde under boot-op, så det ikke laver ulykker.





ChrisBuchholz skrev:Hvis du opretter en mappe i ~/ ved navn "bin", så næste gang du starter din computer op, vil denne automatisk blive smidt i din path - den er med andre ord designet til at indeholde alle ens hjemmestrikkede scripts.


Diskussionen om PATH er lidt større og mere kompliceret, end man måske umiddelbart skulle tro. Og går vi meget i dybden, så vil det nok flytte fokus for meget væk fra det væsentlige i tråden.
Men bruger man ~/bin til sine scripts, så får man en hurtig respons, fordi det er den første mappe, som Ubuntu automatisk afsøger, og det er jo godt.
Ulempen kan være, at det kan forsinke anden respons og det kræver delvist superbrugerrettigheder at redigere i den, og man kan komme til at lave et hjemmefusket script med samme filnavn, som en allerede eksisterende systemkommando, så Ubuntu kommer til at vælge fuskfilen til systemet, og det er jo ikke så godt.
Derfor vil jeg nok foretrække, at mappen til egne scripts lægges allersidst i PATH-strengen.
Men får vi opbygget et sikkert system, så brugerne får tydelige advarsler, hvis de vælger dårlige filnavne til deres scripts, så vil det selvfølgelig hjælpe på det.
Der behøver for min syld heller ikke at være PATH til ~/Menu. Det kan sikkert bedre være en anden mappe, hvortil der automatisk kopieres, hvergang der er editeret et script.
Det vil nok være fint, hvis mappen ~/Menu som udgangspunkt ikke indeholder meget andet end undermapper og en tekstfil med hjælp til at komme i gang.
Så kan alle skabeloner og gode eksempler evt. lægges i ~/Menu/Eksempler. Men det er på ingen måde afgørende for mig, bare de er til at finde.




Kender du andre eksempler end alias og PATH, som kan kræve ændringer i systemfiler..?
ChrisBuchholz
Indlæg: 333
Tilmeldt: 29. okt 2008, 23:39
IRC nickname: ChrisBuchholz
Geografisk sted: Nyborg, Fyn, Danmark

Re: ged i Ubuntu..?

Indlæg af ChrisBuchholz »

Når du opretter mappen ~/bin og ubuntu så opretter denne i path, så bliver den rigtig nok smidt først path. At sige at det så kan sænke responsen fra systemet synes jeg dog ikke du skal bekymre dig om, som jeg også tidligere har forklaret dig. Vi snakker brøkdele af et sekund, og når du kører en kommando, så ryger den alligevel igennem så meget i systemet, så lad vær at spekuler mere over det. Udover det - nej, du skal aldeles ikke bruger superbruger rettigheder til noget som helst i ~/bin - det værende hvis du ikke selv går ind og ændre rettighederne på mappen, men som standard ligger den jo i dit "home", og kræver derfor ikke nogen yderligere rettigheder af dig.
Og så er der det med at komme til at kalde sine scripts de samme ting som andre kommandoer. Ja - sådan er det, sådan er det med alt. Du skal ikke begynde at strukturere dit "menu-system" ud fra det. Så er det bedre at man bare tjekker at en sådan kommando ikke allerede findes, når man vælger navn. Det andet der er noget pjat.
soundpartner
Indlæg: 3461
Tilmeldt: 27. sep 2008, 23:51
IRC nickname: sound
Geografisk sted: København

Re: ged i Ubuntu..?

Indlæg af soundpartner »

Jakob77 skrev:.



Et andet lille ønskescript kan måske være "pause.sh". Et script, som med kommandoen "pause 10" holder pause i 10 sekunder og kan afbrydes med [Ctrl + z].
Det må blandt andet kunne bruges til et start-session-script, som man vil være sikker på at kunne afbryde under boot-op, så det ikke laver ulykker.





ChrisBuchholz skrev:Hvis du opretter en mappe i ~/ ved navn "bin", så næste gang du starter din computer op, vil denne automatisk blive smidt i din path - den er med andre ord designet til at indeholde alle ens hjemmestrikkede scripts.


Diskussionen om PATH er lidt større og mere kompliceret, end man måske umiddelbart skulle tro. Og går vi meget i dybden, så vil det nok flytte fokus for meget væk fra det væsentlige i tråden.
Men bruger man ~/bin til sine scripts, så får man en hurtig respons, fordi det er den første mappe, som Ubuntu automatisk afsøger, og det er jo godt.
Ulempen kan være, at det kan forsinke anden respons og det kræver delvist superbrugerrettigheder at redigere i den, og man kan komme til at lave et hjemmefusket script med samme filnavn, som en allerede eksisterende systemkommando, så Ubuntu kommer til at vælge fuskfilen til systemet, og det er jo ikke så godt.
Derfor vil jeg nok foretrække, at mappen til egne scripts lægges allersidst i PATH-strengen.
Men får vi opbygget et sikkert system, så brugerne får tydelige advarsler, hvis de vælger dårlige filnavne til deres scripts, så vil det selvfølgelig hjælpe på det.
Der behøver for min syld heller ikke at være PATH til ~/Menu. Det kan sikkert bedre være en anden mappe, hvortil der automatisk kopieres, hvergang der er editeret et script.
Det vil nok være fint, hvis mappen ~/Menu som udgangspunkt ikke indeholder meget andet end undermapper og en tekstfil med hjælp til at komme i gang.
Så kan alle skabeloner og gode eksempler evt. lægges i ~/Menu/Eksempler. Men det er på ingen måde afgørende for mig, bare de er til at finde.




Kender du andre eksempler end alias og PATH, som kan kræve ændringer i systemfiler..?

endnu en gang udemærker du dig ved at lave posts om tåbeligheder og ikke at have sat dig ind i tingene...

Det her er noget der bare ikke skal ind i mit system. hvis jeg har brug for sådanne specialiserede scripts så vil jeg lave dem selv (og laver dem selv)
hvis du vil lave så super specialiserede ting så skulle du tage og bruge gento eller et andet system. ubuntu er lavet så brugervenligt som muligt og lavet til pøblen. Alt det snavs du gerne vil have lavet det skal du imo holde for dig selv eller på din egen blog. det er ikke noget der nogen sinde kommer som en del af den officielle ubuntu release.

Du vil lave et pause script... hvorfor? hvorfor vil du lave et script der pauser når der er en udemærket bash komando der kan det samme?
før jeg på nogen som helst måde kan tage dig seriøst så skulle du tage at sætte dig ind i bash og de muligheder der er i scripting. der findes et utal af komandoer som du ikke kender og derfor ikke kan bruge.
når du på et tidspunkt har sat dig ind i tingene så skal jeg overveje om jeg igen vil fjerne dig fra mit ignorer bruger filter.
Selvudnævnt guru når det drejer sig om mobilt bredbånd

Webmaster og stifter af:
Billede
Hvor du finder scripts til en hver situation

Billede
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: ged i Ubuntu..?

Indlæg af Jakob77 »

soundpartner skrev:endnu en gang udemærker du dig ved at lave posts om tåbeligheder og ikke at have sat dig ind i tingene...

Det her er noget der bare ikke skal ind i mit system. hvis jeg har brug for sådanne specialiserede scripts så vil jeg lave dem selv (og laver dem selv)
hvis du vil lave så super specialiserede ting så skulle du tage og bruge gento eller et andet system. ubuntu er lavet så brugervenligt som muligt og lavet til pøblen. Alt det snavs du gerne vil have lavet det skal du imo holde for dig selv eller på din egen blog. det er ikke noget der nogen sinde kommer som en del af den officielle ubuntu release.

Du vil lave et pause script... hvorfor? hvorfor vil du lave et script der pauser når der er en udemærket bash komando der kan det samme?
før jeg på nogen som helst måde kan tage dig seriøst så skulle du tage at sætte dig ind i bash og de muligheder der er i scripting. der findes et utal af komandoer som du ikke kender og derfor ikke kan bruge.
når du på et tidspunkt har sat dig ind i tingene så skal jeg overveje om jeg igen vil fjerne dig fra mit ignorer bruger filter.



Du kaster endnu engang en spand møg endnu uden at have undersøgt, hvad det er, du sviner til.
Hvor klogt det er, det må vi lade læserne og eftertiden om at vurdere.

Det er jo netop min hensigt, at brugerne selv skal tilføje deres egne scripts til PATH'en efter behov.
Det er meget svært for mig at se, hvad det kan skade, at der medfølger lidt hjælp og nogle skabeloner, som kan gøre det nemmere og mere sikkert for folk selv at lave scripts, hvis de har lyst.
Der medfølger vist også et par billedeksempler, som kan bruges til baggrund på skrivebordet.

Jeg finder det ikke helt utænkeligt, at Ubuntus systemfolk godt kan se det rimelige i, at der også medfølger nogle scriptskabeloner og eksempler, især fordi det er så meget vanskeligere stof end f.eks. selv at finde et baggrundsbillede fra et andet medie.

Din bemærkning om, at Ubuntu er et "pøbelprogram", den må jeg tage dyb afstand fra.
Ubuntu har en venlig brugerflade, som alle samfundslag kan have glæde af.
Det er også mit indtryk, at man kan de samme magiske ting med Bash, når man bruger Ubuntu, som med mange andre distributioner.
Har jeg uret i dette, fordi jeg ikke har sat mig nok ind i det, så henvis mig venligst til en "overklasse-linux-distribution", hvor man må bruge scripts.


Det kan sagtens være, at der er en simpel kommando i Bash, som kan gøre det samme, som det lille pause-script, som jeg har foreslået.
Jeg skulle mene, at Bash også næsten er en forudsætning for, at det kan lade sig gøre at lave et script som kan udføre pausen.
Men hvad ved jeg.... ikke særlig meget, og det er faktisk derfor jeg skriver og spørger.
Men kommandoen gad du som sædvanligt ikke at skrive, og jeg vil ikke nedværdige mig til at spørge dig om mere.
Tak for mange kæppe i hjulet fra din side og stort set ikke en disse andet i den tid jeg har været i forum.
Det passer mig fint, at jeg er på din ignoreliste, hvis det betyder, at du så i fremtiden holder dig langt væk fra de tråde, som jeg har oprettet.






PS: Jeg kan se, der er et par stykker, som ikke har forstået afstemningen.
Der er selvfølgelig nogle tekniske ting, som er svære at overskue.
Men overordnet handler afstemningen ikke om andet end at gøre det nemmere at bruge Ubuntu med taster, uden at det går ud over andre ting.
Scripts skaber tastaturgenveje. :)
ChrisBuchholz
Indlæg: 333
Tilmeldt: 29. okt 2008, 23:39
IRC nickname: ChrisBuchholz
Geografisk sted: Nyborg, Fyn, Danmark

Re: ged i Ubuntu..?

Indlæg af ChrisBuchholz »

Fra dit syndspunkt kan jeg godt se det, Jakob77. Jeg tror dog bare at dit perspektiv er begrænset af den viden du ikke har. Hvis du virkeligt satte dig ind i bash, programmering og linux, så ville du være fri for at bede folk om scripts for du ville selv kunne lave dem.

Jeg synes ikke at der skal følge skabelonscript med - overhovedet ikke. Det eneste der vil komme ud af dette, som jeg ser det, er en helt ny generation af script-kiddies, som bare sidder og copy/paster ting sammen uden og vide hvad de laver, og dette bringer ikke noget godt med sig. Hvis folk vil lave scripts, må de lære hvordan de laver scripts. Hvis folk vil lave programmer, må de lære at skrive programmer.
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: ged i Ubuntu..?

Indlæg af Jakob77 »

ChrisBuchholz

Der er intet i vejen med at kopiere et godt script. Jeg vil næsten sige, at det vil være tåbeligt andet, hvis man må.
Men folk må jo selv bestemme, hvad de lukker ind i deres system. Jeg efterlyser bare lidt flere frø og mere grobund.
Og når du taler om scripts og sikkerhed, så lyder det for mig som om, at du mener, at sikkerheden vil blive dårligere, hvis Ubuntus systemeksperter giver os nogle skabeloner.

Jeg tror netop omvendt, fordi de så ved lidt mere om, hvad der foregår, end hvis man henter mærkelige scripts på Internettet.
Jeg skal ikke underkende Google og alverdens private hjemmesider. F.eks. har jeg haft meget glæde af freedomnotbeer.dk
Men når det gælder programmer og scripts, så vil jeg helst supporteres så tæt som muligt af den distribution, som jeg har valgt.
Google var da på et tidspunkt også ved at overbevise unge gymnasieelever om, at holocaust var fup, fordi der optrådte så mange sider om holocaustbenægtelse.
Det er ikke god reklame, når jeg skal finde pålidelig software på google.

Det er ganske enkelt heller ikke rigtigt, at man skal kunne en masse Linux, for at kunne tilrette et simpelt script. Så meget har jeg da fundet ud af.
Men man skal have lidt hjælp til det grundlæggende.
Når bilen først er bygget, så kan mange godt lære at køre med den og måske sætte nye hjul på og male den om osv..


Kan du godt få lov til at gøre en fil kørbar i ~/bin uden at bruge sudo..? - Det kan jeg ikke.


Men bliver man bidt af at lave scripts, så er det i mine øjne også en super god måde at lære Linux på. :)



Hvis man vil lave det pause.sh script, som jeg omtalte, og "sleep" er den bedste kommando til formålet, så kan det måske bare se således ud?:

Kode: Vælg alt

#!/bin/bash
clear
echo
echo
echo
echo "Dette er scriptet pause.sh i action"
echo "pause.sh 10 vil give en pause på 10 sekunder"
echo "Ctrl. + z vil afbryde scriptet"
echo
echo
sleep $1
clear
ChrisBuchholz
Indlæg: 333
Tilmeldt: 29. okt 2008, 23:39
IRC nickname: ChrisBuchholz
Geografisk sted: Nyborg, Fyn, Danmark

Re: ged i Ubuntu..?

Indlæg af ChrisBuchholz »

@Jakob77

Nu sagde du jo scriptskabeloner - altså fundamentale scripts men så kunne udbygge - og nej, dette vil være en skam. Så har vi en masse som kan finde ud af at klippe og klistre, men ingen der faktisk ved hvordan man laver papiret, og så kommer vi ingen vegne.
Du har helt ret i at man ikke behøver at kunne bash for at skrive bash scripts - det er du et eksempel på, men samtidig må du se i øjnene, at du faktisk heller ikke kan. Du kan spørge om hjælp til hvordan man gør ditten og datten, og måske får du svar og måske får du ikke, men du lære godt nok ikke en dyt, andet end hvordan man bruger lim.
Personligt synes jeg, at hvis man vil lave en bil, så skal man lære at lave en bil, man skal ikke betale en mekaniker for at gøre det. Hvis du vil skrive bash-scripts, så lær bash sproget. Så ville du også være fri for at spørge om hjælp hele tiden.

Og nej - der vil aldrig nogensinde blive smidt et scripts a la ged.sh med i ubuntu, simpelthen fordi at bash ikke er det rigtige sprog at skrive sådan en "mekanik" i. Hvis du kendte til teknologien, så ville du også kunne forstå dette.

Jeg har ikke noget imod at du vil lave ged.sh, men jeg synes det er blindt at sigte efter at det skal med i ubuntu, og at prøve at få alle mulige andre med på vognen. Så skulle du hellere tage og lære bash og skrive det selv.
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: ged i Ubuntu..?

Indlæg af Jakob77 »

ChrisBuchholz


Hvornår kan man Bash..?

Er det når man kan skrive "dir" i et script og få det til at virke, eller skal man kunne alle Bash-kommandoer udenad og kende alle options..?


Hvornår kan man køre bil..?

Er det når man kan køre til købmanden efter øl uden at få buler, eller skal man kunne vinde et rallyløb..?

Kan du se ligheden..?

Jeg synes, at du skal prøve at fortælle en person, som kun bruger sin bil til købmanden, at han ikke kan køre bil.
Det er en sikker måde at genere ham på, og det er nok det eneste, du får ud af det.


Hvis det er helt forkert at bruge Bash til at starte "gedit" med forskellige options, så synes jeg, at du skal forklare mig hvorfor og gerne på en lidt mere uddybende måde end bare ved at sige, at jeg er for dum til at kunne forstå det, fordi jeg ikke har læst en bogreol om Linux.

Jeg forstod også på Soundpartner i en anden tråd, at scripts er et forkert værktøj til at starte programmer med, men det er åbenbart kun, når han skriver til mig, for når han skriver til andre, så er det pludselig en anden historie. https://ubuntudanmark.dk/forum/viewtopic.php?p=40689#p40689

Hvis man vil respekteres af mig, så er det OK at dumme sig, men det er et mindstekav, at man ikke twister sandheden med det primære formål at sabotere og vanskeliggøre andres vigtige arbejde.



Mit arbejde med ged.sh og andre scripts vil selvfølgelig fortsætte, hvis jeg ikke finder på noget bedre.
Når jeg prikker til jer allesammen, så er det ikke fordi jeg vil have alle til at lære Bash eller bruge systemet, men nærmere for at afsøge området for at finde ud af, om jeg er på rette vej, og om det kan have andres interesse, og for at få hjælp til det.
Jeg går også ud fra, at jeg havde fået et praj, hvis Ubuntu i forvejen arbejder på noget tilsvarende. Det vil jo være lidt tåbeligt, hvis jeg bruger flere 100 timer på at stykke noget fusk sammen, som alligevel kommer i en mere proff udgave i næste version. Måske lavet på kun to timer af de folk, som har rutinen...
Men bliver det i maskinkoder i stedet for Bash, så vil jeg nok ikke mere selv kunne ændre et komma uden at få bugs i lange baner.





Men jeg kan da ellers godt fortælle dig, at jeg er svær at skyde igennem lige nu, for jeg har fundet en brugbar, men endnu ikke perfekt optimeret bonderøvsløsning på et problem, som jeg har haft med ged.sh


Hvad gør jeg, hvis en option til ged.sh skal køre to kommandoer i stedet for kun een..??
For pokker, hvor det gjorde ondt at tænke på, at jeg måske blev nødsaget til at oprette et hjælpescript bare for at køre to kommandoer.
Det bliver uoverskueligt, hvis der er alt for mange filer, som er kædet sammen (et script, som kører et script, som kører et script..osv.), så det vil jeg helst undgå.


Men løsningen kan ganske enkelt være at bruge skabelonen to gange i det samme script, og så i anden omgang skriver jeg kun kommando nummer 2 ud for den givne option. :)




Min egen hjemmefuskede ged.sh. som den ser ud lige nu. Det er primært option "ss" og den sidste pausesekvens, som du skal lægge mærke til:



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
"k") `gedit ~/Menu/Diverse/$2`;;
"s") `gedit ~/Menu/Eksempler/skabelon.sh ~/Menu/system/aliascfg/.bash_aliases`;;
"ss") `gedit ~/Menu/$2.sh ~/Menu/Eksempler/skabelon.sh ~/Menu/system/aliascfg/.bash_aliases`;;
"alias") `gedit ~/.bash_aliases ~/.bashrc ~/Menu/system/aliascfg/alias.hlp`;;
"path") `gedit ~/.bash_profile /etc/profile /root/.bash_profile ~/Menu/setpath.sh`;;
"-h") echo "Kommandoen åbner gedit editoren, og med options relavante filer. Options: | alias | path | s | ss + (scriptfornavn) | k (=kladde) | -h |";;
esac



#
#I nedenstående sekvens køres den samme script-stamme igen af hensyn til options, som fordrer to kommandoer.
#
if [ -z $1 ]
then
  sleep
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"ss") chmod 755 ~/Menu/$2.sh;;
esac



#Nedenstående sekvens sikrer en pause på 3 sekunder, før copytobin.sh køres
clear
echo
echo
echo
echo
echo
echo Om 5 sekunder kopieres dine scripts ud i PATH-mappen, og det kræver superbrugerrettigheder.
echo
echo Tryk [Ctrl. + z] hvis du vil forhindre kopieringen
echo
echo
echo
echo
echo
sleep 5
#Nedenstående linje aktiverer scriptet copytobin.sh , som kopierer redigerede filer ud i de mapper, hvor de skal være.
copytobin.sh




OBS:
Rettelse:
Jeg har nogle år senere genbrugt samme scripttype:
https://ubuntudanmark.dk/forum/viewtopic.php?p=141865#p141865
Og det er ikke faldet i god jord.
Jeg beklager, at jeg ikke kan skrive noget mere konkret, men jeg mener, at advarslen om scriptet nu har nået et niveau, så jeg ikke kan forsvare at undlade at give den videre her også.
Hvis du er interesseret i emnet, så må du selv følge med i den anden tråd.
På forhånd tak for forståelsen for dette.
Selv bruger jeg stadig næsten det samme script dagligt og forstår ikke, hvad der er i vejen med det.
Men som man evt. også kan se videre i den anden tråd, så arbejder jeg nu på en opgradering, som der også bliver vist vej til.




Havde jeg nu haft en lille scriptskabelon, som kunne give brugeren mulighed for at vælge mellem A og B, så ville jeg nok have brugt det i stedet for den sidste pausesekvens. Men i mangel af bedre, så må man jo lære at klare sig. ;)







Men det undrer mig, at der fra trådens start ikke er kommet et eneste indlæg med flere forslag til ged.sh

Kan det virkelig passe, at jeg som ny med Ubuntu netop er løbet ind i de eneste to eksempler (alias og PATH), hvor det kan være hensigtsmæssigt at rette i bestemte systemfiler.. :?:
Senest rettet af Jakob77 18. jun 2015, 20:42, rettet i alt 2 gange.
ChrisBuchholz
Indlæg: 333
Tilmeldt: 29. okt 2008, 23:39
IRC nickname: ChrisBuchholz
Geografisk sted: Nyborg, Fyn, Danmark

Re: ged i Ubuntu..?

Indlæg af ChrisBuchholz »

Nu vil jeg lade vær at skrive en alt for lang roman, og blot nævne en sætning jeg har brugt i meget lang tid:

Man kan programmerer, når man forstår hvad det er man laver, og man derfor kan forstår hvorfor en fejl opstår.

det samme gælder jo selvfølgelig også bash.
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: ged i Ubuntu..?

Indlæg af Jakob77 »

ChrisBuchholz skrev:Nu vil jeg lade vær at skrive en alt for lang roman, og blot nævne en sætning jeg har brugt i meget lang tid:

Man kan programmerer, når man forstår hvad det er man laver, og man derfor kan forstår hvorfor en fejl opstår.

det samme gælder jo selvfølgelig også bash.



Så kan jeg nok ikke programmere, for der opstod ingen fejl, så jeg kan derfor ikke finde en forklaring på, hvorfor fejl opstår. ;)


Men nu har jeg fået det indtryk på Google, at Bash er på vej ud, og så er det måske helt tidsspilde at beskæftige sig med Bash.
Det er jo ikke meget værd at bruge en masse tid på at skrive programmer i dag, som ikke virker imorgen, fordi fortolkeren er upålidelig.
https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463
Forumresponsen fortæller vist også med al tydelighed, at det kun er noget, som man skal lege med for sin egen skyld eller finde en anden distro.

Men tak fordi du gad at svare.
Selvom du glemte at svare på det, som jeg spurgte om, så var dine svar alligevel bedre end ingenting. :)
ChrisBuchholz
Indlæg: 333
Tilmeldt: 29. okt 2008, 23:39
IRC nickname: ChrisBuchholz
Geografisk sted: Nyborg, Fyn, Danmark

Re: ged i Ubuntu..?

Indlæg af ChrisBuchholz »

Det er noget sludder at sige at det ikke er værd at beskæftige dig med bash fordi det måske ikke bruges mere om nogen år.

Hvis du først lære at programmerer (om det så er i bash eller noget andet), så lære du at programmerer og det er det eneste du skal. At programmerer er sproguafhængigt - når du først kan programmerer, så er det underordnet hvilket sprog du skal bruge, det kræver bare en god reference og så er du flyvende.
Jeg havde aldrig rørt python da jeg gik igang gnphy (http://github.com/ChrisBuchholz/gnphy/tree/master), men det holdt mig da ikke fra at have en virkende version klar allerede den første dag. Dette er netop fordi jeg er vant til at programmerer i C++, Java og diverse web-lingoes, og jeg kunne derfor nemt sætte mig ind i python da jeg havde fundet nogen gode referencer hvor syntaxen var beskrevet, og hvor jeg kunne søge efter moduler og lignende.
cmay
Indlæg: 461
Tilmeldt: 24. feb 2009, 22:45

Re: ged i Ubuntu..?

Indlæg af cmay »

F.eks. , når man kører en hjemmefusket "opryd.sh", så vil det måske være cool, hvis scriptet svarer:


Tryk "A" hvis du vil rydde op kun for at spare plads.

Tryk "B" hvis du vil rydde op og opgradere Ubuntu.

Tryk "C" hvis du vil A og B og derforuden også opgradere kernen (Kraftig systemkommando, så pas på. Husk backup. Det kan evt. også gøre visse programmer ubrugelige, fordi de bliver forældede.)

hvis du har lagt mærke til det så er alle unix programmer meget stilfærdige og gør bare man bede dem om uden at bede om bruger interaktion. det er en meget vigtig del af unix filosofien hvor at unix forventer i modsætning til visse andre systemer at brugeren faktisk mener det vedkommende beder unix om at gøre. rm er et godt eksembel.

der er visse guide lines for dem som skriver programmer til linux unix bsd solaris minix og alle disse unix systemer der hedder POSIX standarden som skal overholdes selv om implementeringen kan være forskellig fra system til system.

en grund regel i unix system programmer er at som default skal et program kunne behandle sit input som en del i en pipe det har noget at gøre med at fx scripts kan udnytte mange programmer(kommandoer) i en kæde via en pipe og kun udfra den exit status der er tage stilling til om hvilken aktion der skal tages og der med gør man det muligt at skrive scripts der automatisere en hel del. hvis du skal skrive et script der kæder en del programmer sammen i en pipe vil den bruger interaktion der forgår jo også evt blande sig i den pipeline man opretter.

derudover så er gevinsten ved at skrive et script der automatisere sit arbejde jo forsvundet hvis du skal sidde og klikke ok i hele tiden.

hvilket også er grunden til windows powershell blev udviklet for at gøre det muligt at tilfredstille de mange udviklere som sætter pris på unix commandlinen.(cmd.exe var ikke avanceret nok) der er en grund til at det stadig er unix/linux der er den mest anvendte server platform.
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: ged i Ubuntu..?

Indlæg af Jakob77 »

Nå, men så fik jeg da også strikket et par hurtige hjælpefiler sammen til ged.sh for argumenterne "alias" og "path".

Man kan anbringe hjælpefilerne, hvor man har lyst, men følger man min mappestruktur, så skulle det ikke være nødvendigt at rette i ged.sh ( i trådens første indlæg ) , som jo skal kunne finde filerne.


alias.hlp

Kode: Vælg alt


Denne hjælpefil (~/Menu/system/aliascfg/alias.hlp) er beregnet til at blive aktiveret med kommandoen "ged alias" eller "ged.sh alias" og vil således være at se som faneblad nummer tre ( Alt 3 ) i Gedit.


--------------


Fanebladet længst til venstre (Alt 1) skal være ~/.bash_aliases som indeholder listen med alias.

Der kan f.eks stå dette og ikke andet i filen:

alias ged='ged.sh'
alias GED='ged.sh'

Disse to linjer vil sikre, at kommandoerne "ged" og "GED" vil virke på samme måde som "ged.sh", når kommandoen skrives i terminalen.
Listen forlænges efter behov og filen gemmes, når den er, som den skal være.


--------------



Men det vil kun virke, hvis der samtidigt redigeres i ~/.bashrc som findes i faneblad nummer to ( Alt 2 ).

Deri findes disse linjer:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

#if [ -f ~/.bash_aliases ]; then
#    . ~/.bash_aliases
#fi


og  # fjernes fra de sidste tre linjer, så der står:


# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi



Filen gemmes og herefter skulle aliaslisten automatisk blive indlæst, hvergang maskinen bootes om.




------------------




Denne hjælpefil er skrevet til Ubuntu med forbehold for fejl og mangler.
For yderligere info. om ændring af alias se evt. denne kilde:
https://ubuntudanmark.dk/forum/viewtopic.php?p=39451#p39451

Ønsker du at forbedre hjælpen til denne ged-funktion, så kan du evt. skrive dit forslag her:
https://ubuntudanmark.dk/forum/viewtopic.php?f=3&t=6657







path.hlp

Kode: Vælg alt


Denne hjælpefil ~/Menu/system/pathcfg/path.hlp er beregnet til at blive aktiveret med kommandoen "ged path" eller "ged.sh path"
Den kommando skulle åbne filen i Gedit i faneblad nummer fire ( Alt 4 ) og giver nedenstående hjælp til permanent ændring af PATH



---------------


Permanent ændring af PATH for "en enkelt bruger" fordrer følgende to linjer indsat i filen $HOME/.bash_profile  ( Faneblad 1  ( Alt + 1 ) ):



PATH=$PATH:/data/myscripts
export PATH



Dette vil tilføje mappen "/data/myscripts" sidst i PATH næste gang maskinen genstartes.



----------------


Permanent ændring af PATH for "alle brugere" fordrer tilsvarende linjer indsat i filen /etc/profile  ( Faneblad 2  ( Alt + 2 ))


----------------


Permanent ændring af PATH for "root" fordrer tilsvarende linjer indsat i filen /root/.bash_profile  ( Faneblad 3  ( Alt + 3 ))


----------------



Denne hjælpefil er skrevet til Ubuntu med forbehold for fejl og mangler.
For yderligere info. om ændring af PATH se evt. disse kilder:
http://www.troubleshooters.com/linux/prepostpath.htm
https://ubuntudanmark.dk/forum/viewtopic.php?p=39095#p39095

Ønsker du at forbedre hjælpen til denne ged-funktion, så kan du evt. skrive dit forslag her:
https://ubuntudanmark.dk/forum/viewtopic.php?f=3&t=6657









cmay


Hvis du har en stump script, som kan give brugeren mulighed for at vælge mellem A og B, så skal du altså ikke holde det tilbage bare fordi du synes, at det er synd for mig, at jeg skal klikke OK hvergang. :wink:
Jeg mener, at jeg har set noget, hvor Java forlanger godkendelse af betingelser, og jeg er meget sikker på, at det godt kan lade sig gøre, selvom det er i Linux.
Det kræver bare lidt mere end i DOS, hvor vi har choice og goto, som gør mange ting nemmere, men som vist nok er lidt "swapuartige" og derfor måske ikke hører hjemme i et ordentligt styresystem. Det er i hvert fald, hvad jeg fik fortalt, da jeg engang for længe siden var ved at rive håret af mig selv over et script til en Novell-server.