/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Bash script - indlæsning af kommando linie~
Fra : News


Dato : 13-08-05 22:20

Jeg



 
 
News (13-08-2005)
Kommentar
Fra : News


Dato : 13-08-05 22:27

Den kom jeg vist ikke så langt med!

Jeg har et program som skal tage følgende kommandoer:

../test.sh [-i] [-t] filename
Dvs. -i og -t er optionelle mens filename er mandatory.

Det ville jo være smart, hvis programmet også kunne forstå sammenskrivningen
af de optionelle parametre:
../test.sh -ti filename

Jeg synes ikke det er så smart, at have følgende pseudo kode:
if $1 == -i then var1=true
if $1 == -t then var2=true
if $2 == -i then var1=true
if $2 == -t then var2=true
if $1 == -it then var1=true and var2=true
if $1 == -ti then var1=true and var2=true

Der må være en bedre måde?



Stig H. Jacobsen (13-08-2005)
Kommentar
Fra : Stig H. Jacobsen


Dato : 13-08-05 23:07

On Sat, 13 Aug 2005 23:26:40 +0200, News wrote:

> Jeg synes ikke det er så smart, at have følgende pseudo kode:
> if $1 == -i then var1=true
> if $1 == -t then var2=true

man 1 getopt

Du kan også lave det med case/esac, men det kræver nok mere
knofedt fra din hånd.

--
Stig

Jacob Tranholm (14-08-2005)
Kommentar
Fra : Jacob Tranholm


Dato : 14-08-05 00:58

Stig H. Jacobsen skrev:
> On Sat, 13 Aug 2005 23:26:40 +0200, News wrote:
>
>
>>Jeg synes ikke det er så smart, at have følgende pseudo kode:
>>if $1 == -i then var1=true
>>if $1 == -t then var2=true
>
>
> man 1 getopt
>
> Du kan også lave det med case/esac, men det kræver nok mere
> knofedt fra din hånd.
>

Eller 'getopts', da det er et bash-script...

--
Mvh. Jacob Tranholm
http://jtranholm.dk/

News (14-08-2005)
Kommentar
Fra : News


Dato : 14-08-05 01:23

>> man 1 getopt
>
> Eller 'getopts', da det er et bash-script...

Jeg bruger "getopt" og det virker fint?



Jacob Tranholm (14-08-2005)
Kommentar
Fra : Jacob Tranholm


Dato : 14-08-05 01:47

News skrev:
>>>man 1 getopt
>>
>>Eller 'getopts', da det er et bash-script...
>
>
> Jeg bruger "getopt" og det virker fint?
>
>

I bash-scripts er der grundlæggende ikke nogen forskel. Forskellen er at
'getopt' i forhold til bash er en ekstern funktion, hvorimod 'getopts'
er en intern bash-funktion. De to funktioner er grundlæggende ens...

--
Mvh. Jacob Tranholm
http://jtranholm.dk/

Stig H. Jacobsen (14-08-2005)
Kommentar
Fra : Stig H. Jacobsen


Dato : 14-08-05 07:30

On Sun, 14 Aug 2005 01:58:28 +0200, Jacob Tranholm wrote:

> Eller 'getopts', da det er et bash-script...

Nej. Hvorfor lave produkt-specifik kode, når det slet ikke er nødvendigt?

--
Stig

Ivar Madsen (14-08-2005)
Kommentar
Fra : Ivar Madsen


Dato : 14-08-05 07:44

Stig H. Jacobsen skrev i dk.edb.system.unix:

>> Eller 'getopts', da det er et bash-script...
> Nej. Hvorfor lave produkt-specifik kode, når det slet ikke er nødvendigt?

F.eks. fordi det her er en funktion der er indbygget i BASH, henholdsvis et
program som BASH skal loade ind, og køre.

Det er resursekrævende at hente et program fra disk, i stedet for at bruge
en funktion i BASH.

--
Med venlig hilsen
Ivar Madsen
Hjælp til med at få overblik over CC's ADSL priser efter 22/7. på
http://milli.dk/index.php/CC_priser_post22072005/ !!! NY SIDE !!!
--------------------------------------------------------------------------------

Klaus Ellegaard (14-08-2005)
Kommentar
Fra : Klaus Ellegaard


Dato : 14-08-05 07:56

Ivar Madsen <spam.news.cc@milli.dk> writes:

>F.eks. fordi det her er en funktion der er indbygget i BASH, henholdsvis et
>program som BASH skal loade ind, og køre.

>Det er resursekrævende at hente et program fra disk, i stedet for at bruge
>en funktion i BASH.

Til gengæld holder scriptet op med at virke, når bash går af
mode. Hvis man bruger standarden, er scriptet nærmest garanteret
at virke de næste 50 år.

Mvh.
   Klaus.

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste