Portál AbcLinuxu, 13. května 2025 19:39

Dotaz: BASH - Odladění programu

14.2.2014 23:28 BASH
BASH - Odladění programu
Přečteno: 360×
Odpovědět | Admin
Zdravím. Vytvořil jsem nějaký program v bashi, mám to rozdělený na cca 800 souborů a chtěl bych poradit, zda je lepší v cyklu neustále dokola sourcovat soubory,
while :
do
 . /a/b/src-a
 . /a/b/src-b
 . /a/b/src-c
 . /a/b/src-d
done
nebo zda je lepší každý soubor spustit jako samostatný proces
while :
do
 /a/b/src-a 2>/log
 /a/b/src-b 2>/log
 /a/b/src-c 2>/log
 /a/b/src-d 2>/log
done
Díky
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.2.2014 00:49 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: BASH - Odladění programu
Odpovědět | | Sbalit | Link | Blokovat | Admin
To prve usetri hodne prace s vytvaranim procesov. Ale musis si ustrazit, aby ti tie skripty nemodifikovali "globalne" prostredie.
If you hold a Unix shell up to your ear, you can you hear the C.
15.2.2014 14:12 BASH
Rozbalit Rozbalit vše Re: BASH - Odladění programu
Ale musis si ustrazit, aby ti tie skripty nemodifikovali "globalne" prostredie.
Díky a konkrétně? Můžeš to upřesnit?
15.2.2014 14:22 potato
Rozbalit Rozbalit vše Re: BASH - Odladění programu
Tečka (příkaz source) je ekvivalentní tomu, že vezmeš obsah vkládaného souboru a fyzicky ho do daného místa vložíš. Takže proměnné prostředí, funkce, nastavení shellu, etc. je pro hlavní skript a vkládaný kód společné.
15.2.2014 14:54 BASH
Rozbalit Rozbalit vše Re: BASH - Odladění programu
Díky, hm a když to nebudu sourcovat ale spouštět sólo, tak nastavení shelu a etc bude pro každý proces jiný? Existuje neco jako na začátku scriptu
old_set_shell=$set_shell
old_set_etc=$set_etc
a na konci
set_shell=$old_set_shell
set_etc=$old_set_etc
Respektivně co všechno by se mělo uložit přes spuštěním scriptu abych uživateli něco nedomrdkal?
15.2.2014 15:09 potato
Rozbalit Rozbalit vše Re: BASH - Odladění programu
Ano. Úplně nerozumím, jak se někomu může podařit napsat 800 skriptů bez zjištění, co se spouští jako samostatný proces, a co nikoli...

Neexistuje. Nastavení, běžné proměnné a některé další věci lze nasimulovat pomocí set, ale není to 100%.

Můžeš spouštět věci v subshellu. Je to pořád efektivnější než to spouštět jako samostatný skript, ale řádově pomalejší než sourcování.
15.2.2014 16:23 NN
Rozbalit Rozbalit vše Re: BASH - Odladění programu
Odpovědět | | Sbalit | Link | Blokovat | Admin
WTF. Muzes prozradit o co se konkretne jedna? Nedokazu si prestavit nic vetsiho, nez nekolik vetsich komplikovanych skriptu, ale 800, naskriptovane v shellu, no neverim..
15.2.2014 20:56 BASH
Rozbalit Rozbalit vše Re: BASH - Odladění programu
Jedná se o programovací jazyk do 6 let. 800 souborů je nahrubo napsaný plně funkční kód. Nyní přecházím (po cca 3 letech) do fáze 2 kde je potřeba 1) zredukovat celý kód, 2) minimalizovat paměť, 3) optimalizovat rychlost. Nastudovat bash a napsat kód byla jedna věc. Teď musím nastudovat problém ohledně veškerého doladění a zabezpečení jelikož to neznám. Toď vše..
16.2.2014 11:22 Vladimír Čunát | skóre: 19
Rozbalit Rozbalit vše Re: BASH - Odladění programu
No, IMHO bash není vhodný pro takto velké projekty (prostě se s tím ani v návrhu takových jazyků nepočítá).
Jendа avatar 16.2.2014 15:40 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: BASH - Odladění programu
3) optimalizovat rychlost
Tak to Bash nebyla správná volba.

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.