Portál AbcLinuxu, 11. května 2025 22:44
Nastav jim práva pro spuštění (chmod +x jmeno_souboru.sh) a pak už stačí jej spustit ./jmeno_souboru.sh
Prostě soubor *.sh je podobnej jak pod windows soubor *.bat oba jsou pořád textové soubory které interpretuje nějaký program.
Pod windows soubory *.bat potřebují command.com + externí programy které soubor *.bat využívá.
Pod linuxem soubor *.sh potřebuje bash (nebo dřívěji sh) + externí programy které soubor *.sh využívá.
Takže pokud budeš mít interpret sh nebo bash na windows + další programy co voláš z toho souboru tak to bude fungovat i na windows, ovšem většinou se to nědělá a pro jednoduchý skript se napíše pro windows soubor *.bat.
A pokud potřebujeme něco složitější tak se to napíše třeba v C + příslušné knihovny pro příslušný OS.
Pod linuxem soubor *.sh potřebuje bash (nebo dřívěji sh)Nebo něktetý z těch stovek jiných shellů
chmod +x x.sh; ./x.sh
sh x.sh
Rad by som podotkol ze *.sh je len informacia ze skript je napisany v sh. Hlavny je prvy riadok skriptu: #!/bin/sh. Ak mas sh alebo bash niekde inde, tak ti to nepojde. To sa ale stava malokedy ze nie je v /bin. To, ze sa skript vykona zabezpeci pravo pre spustenie. Ale na nazve a hlavne pripone vobec nezalezi. Subor janko.hrasko alebo janko ti ak mu das opravnenie x a bude spravne nastaveny spustaci program ci uz sh, bash alebo perl ti pojde. V unixe na nazvoch skriptoch a ich priponach vobec nezalezi.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.