Portál AbcLinuxu, 9. května 2025 02:40

Dotaz: Jak sourcnout jen část souboru v BASH

27.4.2013 00:50 Petr
Jak sourcnout jen část souboru v BASH
Přečteno: 218×
Odpovědět | Admin
Zdarec, hledám pomoc ohledně sourcování souborů, problem je v tom, že v jednotlivých souborech jsou poměrně dost velké scripty hlavně časově náročné a někdy bch potřeboval jen sourcnout kousíček kódu, respektivně bych potřeboval jen sourcnout jednu proměnnou která je v tom scriptu nadefinovaná, tak že mi stačí jen její obsah a nemusím zpracovávat celý script. Nějaký nápad by někdo neměl? Díky za jakoukoliv radu/nakopnutí
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.4.2013 01:13 Patrik Uhrak | skóre: 31 | blog: pato
Rozbalit Rozbalit vše Re: Jak sourcnout jen část souboru v BASH
Odpovědět | | Sbalit | Link | Blokovat | Admin

Podla mojho nazoru bude mudrejsie sa zamerat na skripty, ktore su sourcovane, nez sa pokusat dako dostat len cast kodu tych suborov. Vyuzitim funkcii v sourcovanych suboroch, ktore by boli zalozene na frekventovanosti ich vyuzitia, by mohlo zabrat a urychlit vyrazne celkovy cas straveny vypoctami.

27.4.2013 01:32 Patrik Uhrak | skóre: 31 | blog: pato
Rozbalit Rozbalit vše Re: Jak sourcnout jen část souboru v BASH

Pre predstavu, ako som to myslel. V main.bash je vzdy functions nacitany ako vidiet, ale rozdiel je v tom, ze v prvom pripade sa ta dana funkcia len nacita a je ju mozne zavolat z hlavneho skriptu, zatialco v druhom pripade sa aj vykona dana funkcia. Vyskusaj a uvidis,

patrik@thinkpad:~/test$ cat functions 
#!/bin/bash

getrandom(){
for i in {1..1000000}
do
	echo "$RANDOM" >/dev/null
done
}
patrik@thinkpad:~/test$ cat main.bash 
#!/bin/bash

source ./functions

[[ $1 ]] && "$1"
patrik@thinkpad:~/test$ time bash main.bash

real	0m0.003s
user	0m0.000s
sys	0m0.000s
patrik@thinkpad:~/test$ time bash main.bash getrandom

real	0m11.824s
user	0m9.201s
sys	0m2.488s

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.