/ 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
script problem
Fra : carsten


Dato : 03-01-08 22:41

Jeg har for nogen tid siden skiftet fra Mandriva til Kubuntu, og af årsager
mig uforklarlige, har jeg et script der ikke virker længere,

#!/bin/sh
echo ${DIR:=${PWD}}
echo ${DIR1:=${DIR/\/home\/carsten/}}
echo ${DIR2:=${DIR1//\//\\}}


som det sikker er tydeligt for en vær bliver /home/carsten fjernet fra stien
og derefter bliver stien lavet om til dos format, / bliver skiftet ud med \

det fungerede upåklageligt da jeg kørte Mandriva men nu
../mpasm: 3: Syntax error: Bad substitution

begge systemer er/var med bash


jeg har prøvet at lave det om til,

#!/bin/sh
echo ${DIR:=${PWD}}
echo $DIR | sed 's/\/home\/carsten//' | sed 's/\//\\/'g

men hvordan får jeg resultatet stoppet i en ny variabel til senere brug
i scriptet

/Carsten


 
 
Allan Willems Joerge~ (03-01-2008)
Kommentar
Fra : Allan Willems Joerge~


Dato : 03-01-08 23:01

carsten <spam@spam.dk> wrote:

> #!/bin/sh
> det fungerede upåklageligt da jeg kørte Mandriva men nu
> ./mpasm: 3: Syntax error: Bad substitution

På (K)Ubuntu er /bin/sh i virkeligheden dash.

Du kan ændre det med

$ sudo dpkg-reconfigure dash

--
Med venlig hilsen / Best regards
Allan Willems Joergensen

"Existance is not only temporary, its pointless." Calvin

carsten (04-01-2008)
Kommentar
Fra : carsten


Dato : 04-01-08 06:20

Allan Willems Joergensen wrote:

> dpkg-reconfigure dash
det var tricket der løste mit problem
TAK
/Carsten

Klaus Alexander Seis~ (03-01-2008)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 03-01-08 23:01

Carsten skrev:

> Jeg har for nogen tid siden skiftet fra Mandriva til Kubuntu,
> og af årsager mig uforklarlige, har jeg et script der ikke
> virker længere,
>
> #!/bin/sh
> echo ${DIR:=${PWD}}
> echo ${DIR1:=${DIR/\/home\/carsten/}}
> echo ${DIR2:=${DIR1//\//\\}}

På Ubuntu linker /bin/sh til /bin/dash, som ikke kan det samme som
bash. Prøv at starte scriptet med #!/bin/bash i stedet.

> jeg har prøvet at lave det om til,
>
> #!/bin/sh
> echo ${DIR:=${PWD}}
> echo $DIR | sed 's/\/home\/carsten//' | sed 's/\//\\/'g
>
> men hvordan får jeg resultatet stoppet i en ny variabel til
> senere brug i scriptet

DIR2="$(echo $DIR | sed 's/\/home\/carsten//' | sed 's/\//\\/'g)"

Mvh,

--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/

carsten (04-01-2008)
Kommentar
Fra : carsten


Dato : 04-01-08 06:33

Klaus Alexander Seistrup wrote:

>
> DIR2="$(echo $DIR | sed 's/\/home\/carsten//' | sed 's/\//\\/'g)"
>
i første omgang lavede den linje noget besynderligt, men efter at have
prøvet Allan's råd med
$ sudo dpkg-reconfigure dash
virker den korrekt
men det gør min gamle løsning også

/Carsten

screen dump fra sudo dpkg-reconfigure dash
virker lidt vrøvlet, men sådan er det somme tider med oversætelser

Bash er som udgangspunkt /bin/sh på et Debiansystem. Men da det er
Debianspolitik, at skalskripter, der benytter /bin/sh skal overholde
POSIX-standarden, vil enhver skal, der overholder POSIX kunne fungere
som /bin/sh. Siden dash er overholder POSIX, kan den benyttes som /bin/sh
Det kan være en fordel at gøre dette, fordi dash er hurtigere og mindre
en bash

Adam Sjøgren (04-01-2008)
Kommentar
Fra : Adam Sjøgren


Dato : 04-01-08 16:41

On Fri, 04 Jan 2008 06:32:56 +0100, carsten wrote:

> screen dump fra sudo dpkg-reconfigure dash
> virker lidt vrøvlet, men sådan er det somme tider med oversætelser

> Bash er som udgangspunkt /bin/sh på et Debiansystem. Men da det er
> Debianspolitik, at skalskripter, der benytter /bin/sh skal overholde
> POSIX-standarden, vil enhver skal, der overholder POSIX kunne fungere
> som /bin/sh. Siden dash er overholder POSIX, kan den benyttes som /bin/sh
> Det kan være en fordel at gøre dette, fordi dash er hurtigere og mindre
> en bash

Er der andet galt med den beskrivelse end det manglende 'd' i "og mindre
en bash"?

Eller er det oversættelsen "skal" for "shell" der generer dig?

Hvordan ville du formulere det?


Mvh.

--
"Yakka foob mog. Grug pubbawup zink wattoom gazork. Adam Sjøgren
Chumble spuzz." asjo@koldfront.dk

Kent Friis (04-01-2008)
Kommentar
Fra : Kent Friis


Dato : 04-01-08 16:50

Den Fri, 04 Jan 2008 16:40:55 +0100 skrev Adam Sjøgren:
> On Fri, 04 Jan 2008 06:32:56 +0100, carsten wrote:
>
>> screen dump fra sudo dpkg-reconfigure dash
>> virker lidt vrøvlet, men sådan er det somme tider med oversætelser
>
>> Bash er som udgangspunkt /bin/sh på et Debiansystem. Men da det er
>> Debianspolitik, at skalskripter, der benytter /bin/sh skal overholde
>> POSIX-standarden, vil enhver skal, der overholder POSIX kunne fungere
>> som /bin/sh. Siden dash er overholder POSIX, kan den benyttes som /bin/sh
>> Det kan være en fordel at gøre dette, fordi dash er hurtigere og mindre
>> en bash
>
> Er der andet galt med den beskrivelse end det manglende 'd' i "og mindre
> en bash"?
>
> Eller er det oversættelsen "skal" for "shell" der generer dig?

"Skalskripter" - det må sg* være den norske oversættelse der er smuttet
ind ved en fejl.

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

carsten (04-01-2008)
Kommentar
Fra : carsten


Dato : 04-01-08 19:42

Det er den lille passus sidst i teksten
fordi dash er hurtigere og mindre en bash

/Carsten

Adam Sjøgren (05-01-2008)
Kommentar
Fra : Adam Sjøgren


Dato : 05-01-08 00:53

On Fri, 04 Jan 2008 19:42:25 +0100, carsten wrote:

> Det er den lille passus sidst i teksten
> fordi dash er hurtigere og mindre en bash

Udover at der mangler et 'd' i 'end', hvad er så problemet med den
passus? dash _er_ mindre og hurtigere end bash.


Mvh.

--
"Yakka foob mog. Grug pubbawup zink wattoom gazork. Adam Sjøgren
Chumble spuzz." asjo@koldfront.dk

Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste