Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Martina 07. 11. 2017, 20:30:33

Název: Pár rad pro začátečníka v Bashi
Přispěvatel: Martina 07. 11. 2017, 20:30:33
Dobrý večer. Chtěla bych se zeptat místních odborníků jak bych mohla načíst všechny soubory které jsem uložila v nějaké adresářové struktuře? Jedná se o shell/bash. Na prvním řádku mám napsáno
Kód: [Vybrat]
#!/bin/bashV souborech jsou funkce. Mám do každého souboru taky ten řádek vložit, nebo stačí jen v tom hlavním?
Je lepší načítat soubory pomocí "." nebo "source"?
Děkuji všem za odpověď. M.
Název: Re:Pár rad pro začátečníka v Bashi
Přispěvatel: gll 07. 11. 2017, 21:15:59
Kód: [Vybrat]
source <(find . -type f -name '*.sh' -not -name $0 | xargs cat)

pokud je to jiny adresar nez ve kterem je skript, do ktereho importujete, tak tam nemusi byt -not -name $0.
Název: Re:Pár rad pro začátečníka v Bashi
Přispěvatel: JardaP . 07. 11. 2017, 21:22:55
Je lepší načítat soubory pomocí "." nebo "source"?

Znate nejaky duvod, proc by to nemelo byt jedno? Tecka setri prsty a klavesnici.
Název: Re:Pár rad pro začátečníka v Bashi
Přispěvatel: patok 07. 11. 2017, 21:24:22
ano, bud source, nebo "." - oboje je spravne. viz toto:

source is a synonym for dot/period '.' in bash, but not in POSIX sh, so for maximum compatibility use the period. (zdroj: https://ss64.com/bash/source.html (https://ss64.com/bash/source.html))

Mohlo by to vypadat nejak takhle:

Kód: [Vybrat]
#!/bin/bash

. ./funkce/math.sh
. ./funkce/string.sh
. /usr/local/whatever/blabla.sh

fce1
x = $(fce2)
squereX $x

samotne soubory s funkcema pak uz nemusi mit #!/bin/bash na zacatku a imho by mit ani nemeli, ale treba to nicemu nevadi... v bashi uz to ale jednou pusteny je od toho volaciho skriptu.
Název: Re:Pár rad pro začátečníka v Bashi
Přispěvatel: Miroslav Šilhavý 07. 11. 2017, 21:27:30
ano, bud source, nebo "." - oboje je spravne. viz toto:

source is a synonym for dot/period '.' in bash, but not in POSIX sh, so for maximum compatibility use the period. (zdroj: https://ss64.com/bash/source.html (https://ss64.com/bash/source.html))

Já preferuji návyk na "source", protože funguje jak v bashi, tak v tcsh - pokud budete přeskakovat mezi těmito shelly (např. linux vs. freebsd), pak je pohodlnější navyknout si takto.
Název: Re:Pár rad pro začátečníka v Bashi
Přispěvatel: Kit 07. 11. 2017, 21:44:27
Je lepší načítat soubory pomocí "." nebo "source"?

Znate nejaky duvod, proc by to nemelo byt jedno? Tecka setri prsty a klavesnici.

V Bashi je to sice jedno, ale:
- jsou lidé, kteří to neví
- je rozdíl v čitelnosti takového příkazu
- může být problém s přenositelností na jiný shell
- různé projekty mohou mít různý code-style