Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

vyuka:vytvoreni_scriptu [2016/11/09 14:15] (aktuální)
admin vytvořeno
Řádek 1: Řádek 1:
 +==== Vytvoření scriptu ====
 +//Skript// je textový soubor (plaintext),​ ve kterém se za sebou uvádějí příkazy shellu (či jiného interpreteru). Příkazy napsané v textovém souboru budou vykonány jeden za druhým - jako byste je psali a odentrovávali na klávesnici.
  
 +Skripty se hodí pro možnost opakování nějaké činnosti. Vlastně to jsou //​počítačové programy//. Často první, které člověk v životě napíše.
 +
 +
 +=== Editace souboru ===
 +Textový soubor lze vytvořit a editovat v GUI editorech jako je //gedit//, //​Mousepad//,​ (na windows //​poznámkový blok - notepad//, //​pspad//,​...) apod.
 +V příkazové řádce lze zpravidla použít editory //nano//, //vi//, //vim//,... - ty oplývají interaktivním rozhraním. K zápisu do souboru lze ale použít i samotný shell - operátory ''>''​ a ''>>''​
 +
 +=== Hlavička ===
 +Protože Linux nerozpoznává soubory primárně podle přípony, je dobrým zvykem na prvním řádku scriptu uvádět příslušný interpreter jako speciální komentář (např. ''#​!/​bin/​bash''​). Lze tím rozlišovat mezi jazyky BASH/​shell/​Python/​awk a dalšími.
 +
 +=== Práva ===
 +Čerstvě vytvořený textový soubor má většinou pro vlastníka oprávnění **r**ead, **w**rite - ale ne e**x**ecute. Nelze jej jako skript spustit, dokud mu právo e**x**ecute nenastavíte:​
 +<code bash>
 +chmod +x jmeno-skriptu
 +</​code>​
 +
 +=== Spuštění skriptu ===
 +  * Skript shellu v aktuálním adresáři lze spustit příkazem ''​./​jmeno-skriptu''​
 +  * Pokud by byl skript v adresáři ležícím v systémové cestě (''​$PATH''​),​ lze jej volat jako libovolný jiný program, tedy přímo napsáním ''​jmeno-scriptu''​
 +  * Lze jej zavolat také s použitím absolutní či relativní cesty - např. ''/​home/​uzivatel/​muj-skript.sh''​
 +  * Také lze manuálně specifikovat interpretr: ''/​bin/​bash muj-skript'',​ ''​python program.py'',​ ''​awk -f neco.awk''​
 +
 +
 +===Příklad scriptu===
 +<code bash>
 +#!/bin/bash
 +echo "Ahoj, zadej číslo"​
 +read -r cislo
 +echo "Zadal jsi $cislo"​
 +</​code>​
Nahoru