/ 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
Sikker BASH programmering... (er det mon m~
Fra : Morten Guldager


Dato : 11-11-06 20:39

Hejsa,

Jeg har et bash-script som jeg gerne vil have til
at udføre et program-kald for hver linje i en input-fil
(skidtet kører naturligvis som root, bare sådan for
at gøre det ekstra festligt

Jeg har sådan noget i stil med det her:

cat CONFIG.txt | while read LINE
do
root_cmd $LINE
done

Men hvis jeg nu bare laver en linje i CONFIG.txt

dummy ; echo root:xyz:o.s.v. > /etc/passwd

I perl ville jeg let have kunnet sikre mig at det der
står i $LINE ikke ville blive ædt af en shell, men
kun blive ført ind som argumenter til programmet jeg kalder.

Men det kan jeg ikke lige gennemskue hvordan jeg klarer
i bash.

Jeg er ikke så meget for at kontrolere indholdet i $LINE,
jeg vil bare undgå at det kommer andre steder hend end til
programmet jeg kalder.

Forslag?


/Morten

 
 
Benny Amorsen (11-11-2006)
Kommentar
Fra : Benny Amorsen


Dato : 11-11-06 22:37

>>>>> "MG" == Morten Guldager <Morten.Guldager@gmail.com> writes:

MG> I perl ville jeg let have kunnet sikre mig at det der står i $LINE
MG> ikke ville blive ædt af en shell, men kun blive ført ind som
MG> argumenter til programmet jeg kalder.

MG> Men det kan jeg ikke lige gennemskue hvordan jeg klarer i bash.

Prøv at teste dit eksempelprogram med dit eksempel-input. Jeg tror du
bliver overrasket.

bash er ikke så dum som den ser ud til.


/Benny

peter volsted peders~ (11-11-2006)
Kommentar
Fra : peter volsted peders~


Dato : 11-11-06 23:32

hi

> Benny Amorsen wrote:
>>>>>> "MG" == Morten Guldager <Morten.Guldager@gmail.com> writes:
>
> MG> I perl ville jeg let have kunnet sikre mig at det der står i $LINE
> MG> ikke ville blive ædt af en shell, men kun blive ført ind som
> MG> argumenter til programmet jeg kalder.
>
> MG> Men det kan jeg ikke lige gennemskue hvordan jeg klarer i bash.
>
> Prøv at teste dit eksempelprogram med dit eksempel-input. Jeg tror du
> bliver overrasket.
>
> bash er ikke så dum som den ser ud til.

Har du overvejet: source (eller bare .) [dit script}


--
good luck

peter

Morten Guldager (12-11-2006)
Kommentar
Fra : Morten Guldager


Dato : 12-11-06 07:47

2006-11-11 Benny Amorsen wrote
>>>>>> "MG" == Morten Guldager <Morten.Guldager@gmail.com> writes:
>
>MG> I perl ville jeg let have kunnet sikre mig at det der står i $LINE
>MG> ikke ville blive ædt af en shell, men kun blive ført ind som
>MG> argumenter til programmet jeg kalder.
>
>MG> Men det kan jeg ikke lige gennemskue hvordan jeg klarer i bash.
>
> Prøv at teste dit eksempelprogram med dit eksempel-input. Jeg tror du
> bliver overrasket.
>
> bash er ikke så dum som den ser ud til.

Nej, jeg er vist mest ude i en teoretisk overvejelse.

Jeg kan da heller ikke lige få den til at gøre giftige ting, men
det kunne jo være min egen begrænsede forståelse af hvad der
foregår i bash.


/Morten

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

Månedens bedste
Årets bedste
Sidste års bedste