Portál AbcLinuxu, 9. května 2025 23:54

Dotaz: bash a if

14.11.2007 14:43 Lukas | skóre: 12 | blog: Mind 8
bash a if
Přečteno: 1441×
Odpovědět | Admin
Ahoj,

nejsem zadny shell programator, ale mam nejakou vec napsanou v bash shellu. Potreboval bych udelat neco takovehoto, ale vsechny me pokusy ztroskotaly. To co je nize uvedeno neni samozrejme kus kodu, ale naznak toho co hledam.Muj hlavni problem je jak udelat tu tucne vyznacenou cast.
# balicky
INC_PKGS="flex bison svn rsync"


# pro vsechny balicky, ktere jsou v promene INC_PKGS nastav 1
if $pkg in $INC_PKGS
included=1
fi
Nemel byste pro me nekdo nejakou radu ???
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.11.2007 14:49 outsider
Rozbalit Rozbalit vše Re: bash a if
Odpovědět | | Sbalit | Link | Blokovat | Admin
Priblizne takto:
if `echo $INC_PKGS | grep -q $pkg` ; then
  included=1
fi
Je to ale potreba trochu "zobecnit"...
14.11.2007 15:06 Jiří J. | skóre: 34 | blog: Poutník | Brno
Rozbalit Rozbalit vše Re: bash a if
Odpovědět | | Sbalit | Link | Blokovat | Admin
INC_PKGS="flex bison svn rsync"

for neco in $INC_PKGS; do
  included_${neco}=1
done;
vytvoří:
included_flex
included_bison
included_svn
included_rsync
s hodnotou 1 u každé. Praktický význam?
14.11.2007 23:19 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: bash a if
Odpovědět | | Sbalit | Link | Blokovat | Admin
Riesenie pre bash. V sh nebude fungovat.
# medzery na zaciatku a na konci retazca su podstatne
INC_PKGS=" flex bison svn rsync "

if [[ "$INC_PKGS" =~ " $pkg " ]]; then
    included=1
fi
If you hold a Unix shell up to your ear, you can you hear the C.
15.11.2007 13:57 Lukas | skóre: 12 | blog: Mind 8
Rozbalit Rozbalit vše Re: bash a if
Odpovědět | | Sbalit | Link | Blokovat | Admin
dik vsem za napady, vyzkousim.
15.11.2007 18:56 p
Rozbalit Rozbalit vše Re: bash a if
Myslis neco takoveho? #!/bin/bash INC_PKGS=" flex bison svn rsync " echo $INC_PKGS

for i in `echo $INC_PKGS` do i=$(echo $i=1) export L="$i $L" done echo $L

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.