3. První Skript

RSS zdrojSdílet na Twitteru

Koupit tento Shell Scripting Tutorial PDF pro pouze $5 Pro náš první skript, budeme jen psát skript, který říká, že“Hello World“. Budeme se pak snažit získat více z Hello Worldprogram, než jakýkoli jiný kurz, kterou jsem kdy četl 🙂
Vytvoří soubor (first.sh) takto: first.sh

#!/bin/sh# This is a comment!echo Hello World # This is a comment, too!

první řádek říká, Unix, že soubor má být popraven /bin/sh.Toto je standardní umístění Bourne shell na téměř everyUnix systému. Pokud používáte GNU/Linux, /bin/sh je obvykle symbolický odkaz na bash (nebo v poslední době dash).

druhý řádek začíná zvláštním symbolem: #. To označuje řádek jako komentář a shell je zcela ignorován.
jedinou výjimkou je, když první řádek souboruzačíná s #! – jak to dělá naše. Jedná se o speciální adresukteré Unix zachází speciálně. To znamená, že i když používáte csh, ksh nebo cokoli jiného jako interaktivní shell, to, co následuje, by mělo být interpretováno Bourne shellem.
podobně může skript Perl začínat řádkem #!/usr/bin/perl , aby informoval váš interaktivní shell, že program, který následuje, by měl být proveden Perlem. Pro Bourne shell programování, budeme se držet #!/bin/sh.

třetí řádek se spouští příkazem: echo, s dvěma parametry, orarguments – první je "Hello", druhá je "World".
Všimněte si, že echo automaticky umístí mezi své parametry jednu mezeru.
symbol # stále označuje komentář; # a anythingfollowing je shell ignorován.

Nyní spusťte chmod 755 first.sh, aby byl textový soubor spustitelný, a spusťte ./first.sh.
vaše obrazovka by pak měla vypadat takto:

$ chmod 755 first.sh
$ ./first.sh
Hello World
$

pravděpodobně jste to očekávali! Dalo by se dokonce jen spustit:

$ echo Hello World
Hello World
$

nyní provedeme několik změn.
nejprve si všimněte, že echo umístí mezi své parametry jednu mezeru. Vložte několik mezer mezi „Ahoj“ a „svět“. Jaký očekáváte výstup? A co dát mezi ně znak karty?
jako vždy s programováním shellu, zkuste to a uvidíte.
výstup je úplně stejný! Voláme program echo se dvěma argumenty; nezajímá ho nic víc než cp o mezerách mezi nimi.Nyní upravte kód znovu:

#!/bin/sh
# This is a comment!
echo "Hello World" # This is a comment, too!

tentokrát to funguje. Pravděpodobně jste to také očekávali, pokud máte zkušenostijiných programovacích jazyků. Ale klíč k pochopení toho, co se dějena složitějším příkazem a skriptem shellu je pochopit a být schopenvysvětlit: proč?
echo byl nyní volán pouze s jedním argumentem-řetězcem „Hello World“. Vytiskne to přesně.
zde je třeba pochopit, že shell analyzuje argumenty před jejich předáním volanému programu. V tomto případě odstraní uvozovky, ale projdetřetězec jako jeden argument.
jako poslední příklad zadejte následující skript. Pokuste se předpovědět výsledek před spuštěním:

first2.sh

#!/bin/sh
# This is a comment!
echo "Hello World" # This is a comment, too!
echo "Hello World"
echo "Hello * World"
echo Hello * World
echo Hello World
echo "Hello" World
echo Hello " " World
echo "Hello "*" World"
echo `hello` world
echo 'hello' world

je vše tak, jak jste očekávali? Pokud ne, nebojte se! To jsou jen některé z věcí, které budeme pokrývat v tomto tutoriálu … a ano, budeme používat výkonnější příkazy než echo!

RSS zdrojSdílet na Twitteru
Zpět: Filozofie Dále: Proměnné (Část 1)

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *