Kommandoer, som ikke fungerer i script

Dette forum bruges på EGET ANSVAR til at lege med scripts og andre ting med risiko for at beskadige sit eget og andres systemer.
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10724
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Re: Kommandoer, som ikke fungerer i script

Indlæg af Christian.Arvai »

Siger du at du mangler en Kodeslave? ;)
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
AJenbo
Admin
Indlæg: 20874
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Kommandoer, som ikke fungerer i script

Indlæg af AJenbo »

Hvis du kalder et script uden "#!" fra et med, vil du stadig være i den session som er startet af "#!" scriptet og det vil så ikke hjælpe. Hvad er det som at kræver det?

Jakob77 skrev:Men der vil nok gå flere år, før jeg er færdig med at plage om koder..
Hvad siger du til, at vi deler opgaven imellem os, jeg skriver hjælpen, og dermed hvad scriptet skal kunne, og så skal du kun skrive koden..? :D

Det ville da nettop være at plage om kode, jeg kan heller ikke se hvad jeg ville få ud af det,ellers tak.
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Kommandoer, som ikke fungerer i script

Indlæg af Jakob77 »

Christian.Arvai skrev:Siger du at du mangler en Kodeslave? ;)


Ja, men "slave" er vel så meget sagt. Det må være ok, at han også kritiserer hjælpen, bare jeg også må kritisere koden.
Det må vel næsten kunne betegnes som et ligeværdigt samarbejde. ;)

Men det er heller ikke meningen, at det kun skal være til mig. Jeg håber selvfølgelig, at det kan blive scripts, som mange ubuntubrugere kan lære af og vil blive glade for.
Det er altså ikke så meget noget, man skal gå ind i, for selv at få noget ud af det. Det skal være for at hjælpe ubuntubrugerne og måske fordi man ganske enkelt synes, at det er spændende at bygge scripts.
Men jeg tror måske, at jeg står lidt i et ingenmandsland. Andre er enten så terminal- og scriptforskrækkede, at de flygter langt væk, eller også er de så hard core terminalbrugere, at de slet ikke kan se nogen grund til scripts, som skal gøre det nemmere at bruge koder. De skriver dem bare hvergang og kan slet ikke fatte, at alle andre ikke bare gør det samme.




AJenbo skrev:Hvis du kalder et script uden "#!" fra et med, vil du stadig være i den session som er startet af "#!" scriptet og det vil så ikke hjælpe. Hvad er det som at kræver det?


Det gør "history", som du selv påpegede og måske også "grep"
( Rettelse: "greb" rettet til "grep", sådan en fejl opstår nemt her ude på landet. ;) )

Men hvis jeg kalder et underscript, som skal være uden, så tænker jeg, at jeg i første linje kan bruge tippet fra zob og begynde underscriptet med denne linje:

Kode: Vælg alt

#!/bin/bash -i


og slutte det med denne:

Kode: Vælg alt

#!/bin/bash


På den måde skulle miljøet være stillet rigtigt til de respektive kommandoer.
Ser det forkert ud..?

Det bliver til mange små scripts på den måde.





Men jeg synes måske også, at jeg mangler et tip til, hvordan man nemt kan se på en kommando, hvordan miljøet/skallen skal sættes, for at få den til at fungere i et script.
Det er måske nok lidt for viderekommende, men ved man intet om det, så kan man også hurtigt blive dummere, end nødvendigt, fordi man står med panden imod en mur og bliver kun bekræftet i, at intet virker sikkert og stabilt .
Senest rettet af Jakob77 6. jun 2015, 15:05, rettet i alt 1 gang.
AJenbo
Admin
Indlæg: 20874
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Kommandoer, som ikke fungerer i script

Indlæg af AJenbo »

Jakob77 skrev:
AJenbo skrev:Hvis du kalder et script uden "#!" fra et med, vil du stadig være i den session som er startet af "#!" scriptet og det vil så ikke hjælpe. Hvad er det som at kræver det?

Det gør "history", som du selv påpegede og måske også "greb"

Jeg spurgte om hvilket der kræver "#!/bin/bash" er i scriptet, ikke hvilke der kræver det ikke er der.

Jakob77 skrev:Men jeg synes måske også, at jeg mangler et tip til, hvordan man nemt kan se på en kommando, hvordan miljøet/skallen skal sættes, for at få den til at fungere i et script.
Det er måske nok lidt for viderekommende, men ved man intet om det, så kan man også hurtigt blive dummere, end nødvendigt, fordi man står med panden imod en mur og bliver kun bekræftet i, at intet virker sikkert og stabilt .

Læs manualen til de individuelle kommandoer (programmer).
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10724
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Re: Kommandoer, som ikke fungerer i script

Indlæg af Christian.Arvai »

Brug "man" for at skaffe info om kommandoer. Ex med Firefox via Terminalen.

Dette starter Firefox:

Kode: Vælg alt

firefox

Dette skaffer yderligere oplysninger om kommandoen "firefox"

Kode: Vælg alt

man firefox
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Kommandoer, som ikke fungerer i script

Indlæg af Jakob77 »

Ja, men hvis jeg må være så dum, hvad er det så specifikt, jeg skal finde i "man kommando", for at vide, om første linje i scriptet, hvor kommandoen skal køres, skal være "#!/bin/bash" eller en tom linje, eller der var vist også flere muligheder..?




AJenbo skrev:Jeg spurgte om hvilket der kræver "#!/bin/bash" er i scriptet, ikke hvilke der kræver det ikke er der.


Sorry, så misforstod jeg dig.
Men for det første er det jo sådan, jeg har lært her i forum, at man begynder et script. :)

Men jeg er faktisk glad fordi du spørger, fordi jeg alligevel skal huske at give credit til Laoshi for scriptets grundstamme, som jeg fik for længe siden af ham:
https://ubuntudanmark.dk/forum/viewtopic.php?p=39956#p39956
Og jeg må tilføje, at grundstammen virker særdeles fint til andre kommandoer, så jeg mener ikke, at det kan være på grund af den, at scriptet ikke virker, som det skal.

Sådan er der små og store gennembrud i visdommen, når man via forum forsøger at tilegne sig terminal- og scriptkundskaber.
Men jeg tror efterhånden, at jeg er så tæt på at have samlet de mest nødvendige koder, at jeg ikke kan stå for fristelsen til at klø på med hjælpescripts til Ubuntu.

Hvis det ender med mange små scripts, hvordan kan du så se strukturen for dig rent mappemæssigt..?
Jeg vil gerne bevare en nogenlunde overskuelig bin-mappe
Jeg vil nok også gerne have path til den mappe, hvor alle de små hjælpescripts skal ligge.



Der skal også være disciplin på filnavne.

F.eks.:

"his.sh"

ligger i bin og kan med de rette argumenter aktivere:

his-history.sh
his-one.sh
his-hyplist.sh
his-vis.sh
osv..

Som vi har valgt at anbringe i mappen :?: :)
AJenbo
Admin
Indlæg: 20874
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Kommandoer, som ikke fungerer i script

Indlæg af AJenbo »

Du må se efter om der er beskrevet at de opføre sig forskelligt ud fra miljøet, eks session. Normalt er der dog en vis mening med det som man nogenlunde kan udregne ud fra hvad kommandoen gør, men som altid er mit råd at prøve først
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Kommandoer, som ikke fungerer i script

Indlæg af Jakob77 »

Jakob77 skrev:Men hvis jeg kalder et underscript, som skal være uden, så tænker jeg, at jeg i første linje kan bruge tippet fra zob og begynde underscriptet med denne linje:

Kode: Vælg alt

#!/bin/bash -i


og slutte det med denne:

Kode: Vælg alt

#!/bin/bash


På den måde skulle miljøet være stillet rigtigt til de respektive kommandoer.
Ser det forkert ud..?


Nej, det ser helt rigtigt ud, men det virker overhovedet ikke i min terminal.
Er der andre, som har prøvet det med "history"..?


At benytte "call" i moderscriptet er vist for gammeldags..?


Jeg har fået "echo" til at fungere i et underscript.

Linjen ser således ud:

Kode: Vælg alt

echo echo 'Dette script er under udarbejdelse.'


Og det er da rigtig meget værd at kunne skrive sådan, men jeg ville jo gerne kunne lidt mere. ;)


Nogle forslag..?
Klaus Rasmussen
Admin
Indlæg: 5584
Tilmeldt: 26. apr 2010, 02:40
IRC nickname: ClaudiuS
Geografisk sted: Nyborg [fyn]

Re: Kommandoer, som ikke fungerer i script

Indlæg af Klaus Rasmussen »

Med Venlig Hilsen
Klaus

Kører Ubuntu 22.04 på ASUS All-Series, og Probook 4520s.
Gratis Ubuntumagasin: http://fullcirclemagazine.org/
https://mega.nz/folder/aJsmCYKa#dxMHKTi4Idmz6hiVpsI68Q
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Kommandoer, som ikke fungerer i script

Indlæg af Jakob77 »


Tak for linket.
Det er en god og relevant kodekilde, men jeg kan ikke rigtig finde noget brugbart.
Kan du se noget..?
AJenbo
Admin
Indlæg: 20874
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Kommandoer, som ikke fungerer i script

Indlæg af AJenbo »

Du har allerede fået 2 løsnings forslag.

AJenbo skrev:Fjern #!/bin/bash


zob skrev:

Kode: Vælg alt

cat ~/.bash_history

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

Re: Kommandoer, som ikke fungerer i script

Indlæg af Jakob77 »

AJenbo skrev:Du har allerede fået 2 løsnings forslag.

AJenbo skrev:Fjern #!/bin/bash


zob skrev:

Kode: Vælg alt

cat ~/.bash_history



Det hjælper ikke, når de køres i underscriptet.
Jeg får intet eller kun noget underligt output.
Altså bortset fra med "echo", som skal afgives to gange for at virke.


Men måske også i nogle tilfælde, selvom det ikke er i et underscript.

Har du f.eks. prøvet denne terminalkommando i et script:

Kode: Vælg alt

exit
AJenbo
Admin
Indlæg: 20874
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Kommandoer, som ikke fungerer i script

Indlæg af AJenbo »

Du har enten ikke fulgt mit råd i begge dine scripts, eller slet ikke fulgt zobs råd.

Dit echo echo problem tyder dog på at du gør noget helt forkert når du kalder det en script fra det andet, prøv at vis din kode.

Jakob77 skrev:Har du f.eks. prøvet denne terminalkommando i et script:

Kode: Vælg alt

exit


Den afslutter scriptet, hvad er din pointe?
Jakob77
Indlæg: 889
Tilmeldt: 19. dec 2008, 15:52
IRC nickname: Jakob77

Re: Kommandoer, som ikke fungerer i script

Indlæg af Jakob77 »

AJenbo skrev:Du har enten ikke fulgt mit råd i begge dine scripts, eller slet ikke fulgt zobs råd.

Dit echo echo problem tyder dog på at du gør noget helt forkert når du kalder det en script fra det andet, prøv at vis din kode.

Jakob77 skrev:Har du f.eks. prøvet denne terminalkommando i et script:

Kode: Vælg alt

exit


Den afslutter scriptet, hvad er din pointe?


Den skulle jo lukke terminalen.

Jeg har vist koden, og jeg tror måske, at der alligevel ligger noget knyst i moderscriptet.
Allerede der fordres der dobbelt echo, hvis kommandoen skal virke.
Klaus Rasmussen
Admin
Indlæg: 5584
Tilmeldt: 26. apr 2010, 02:40
IRC nickname: ClaudiuS
Geografisk sted: Nyborg [fyn]

Re: Kommandoer, som ikke fungerer i script

Indlæg af Klaus Rasmussen »

Prøv:

Kode: Vælg alt

exit exit
Med Venlig Hilsen
Klaus

Kører Ubuntu 22.04 på ASUS All-Series, og Probook 4520s.
Gratis Ubuntumagasin: http://fullcirclemagazine.org/
https://mega.nz/folder/aJsmCYKa#dxMHKTi4Idmz6hiVpsI68Q