Portál AbcLinuxu, 20. července 2025 06:15


Dotaz: bash - for a promenne

17.8.2012 10:45 petrT
bash - for a promenne
Přečteno: 214×
Odpovědět | Admin

Ahoj, potreboval bych poradit se syntaxi. Chci udelat for, ktery bude postupne spoustet prikazy. Tedy neco takoveho:

COM="date pwd df"

for command in $COM;do $command;done

Nevim ale, jak to udelat abych mohl do COM zadavat i prikazy s parametry - napr. df -h. Muzete mi, prosim, poradit?

Diky!

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.8.2012 10:52 NN
Rozbalit Rozbalit vše Re: bash - for a promenne
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nehledas 'case'? Chces poustet prikazy dokola ?
17.8.2012 10:56 petrT
Rozbalit Rozbalit vše Re: bash - for a promenne
Ne-e, case nehledam. Chtel bych spustit postupne nekolik prikazu.
17.8.2012 10:53 kuka
Rozbalit Rozbalit vše Re: bash - for a promenne
Odpovědět | | Sbalit | Link | Blokovat | Admin
COM="date pwd \"df -h\""
17.8.2012 11:00 petrT
Rozbalit Rozbalit vše Re: bash - for a promenne

Tohle mi bohuzel nefunguje. Misto df -h dostanu na vystup

If '"df' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf "df

If '-h"' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf -h"

Pouzivam opensuse a bash.

17.8.2012 11:04 l4m4
Rozbalit Rozbalit vše Re: bash - for a promenne
Odpovědět | | Sbalit | Link | Blokovat | Admin
a=('date -R' pwd 'df -h')
for x in "${a[@]}"; do $x; done
17.8.2012 11:12 Patrik Uhrak | skóre: 31 | blog: pato
Rozbalit Rozbalit vše Re: bash - for a promenne
Odpovědět | | Sbalit | Link | Blokovat | Admin

Vyuzit polia, ktore v bash-i su:

#!  /bin/bash

array=( 'date' 'ls -l' 'df -h' )

for cmd in "${array[@]}"
do
        $cmd
done
17.8.2012 11:39 Kit
Rozbalit Rozbalit vše Re: bash - for a promenne
Odpovědět | | Sbalit | Link | Blokovat | Admin
Možná by bylo lepší si nadefinovat funkci...
17.8.2012 12:35 Patrik Uhrak | skóre: 31 | blog: pato
Rozbalit Rozbalit vše Re: bash - for a promenne

Toto riesenie sa mi paci este viac ako s poliami a prenositelnost (aj ked bolo ziadane v bashi) bude zrejme lepsia.

RunCmd(){
for cmd in "$@"
do
        $cmd
        shift
done
}
17.8.2012 13:07 petrT
Rozbalit Rozbalit vše Re: bash - for a promenne
Odpovědět | | Sbalit | Link | Blokovat | Admin
Diky moc za vsechny tipy!

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.