Pár rad pro začátečníka v Bashi

Martina

Pár rad pro začátečníka v Bashi
« kdy: 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.
« Poslední změna: 07. 11. 2017, 20:42:30 od Petr Krčmář »


gll

Re:Pár rad pro začátečníka v Bashi
« Odpověď #1 kdy: 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.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Pár rad pro začátečníka v Bashi
« Odpověď #2 kdy: 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.

patok

Re:Pár rad pro začátečníka v Bashi
« Odpověď #3 kdy: 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)

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.

Re:Pár rad pro začátečníka v Bashi
« Odpověď #4 kdy: 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)

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.


Kit

Re:Pár rad pro začátečníka v Bashi
« Odpověď #5 kdy: 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