Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Software
Komentáře, a volba shellu
18. dubna 2002, 00.00 | Samozřejmě, triviální skripty, se kterými jsme se seznámili minule, komentovat nebylo zapotřebí; přesto je vhodné se hned naučit, jak se do skriptů komentáře píší.
Samozřejmě, triviální skripty, se kterými jsme se seznámili minule, komentovat nebylo zapotřebí; přesto je vhodné se hned naučit, jak se do skriptů komentáře píší.Komentáře
Je to velmi jednoduché: jestliže řádek začíná znakem '#', shell jej při zpracování skriptu bude ignorovat — jde o komentář. Poslední skript z minulého příkladu bychom tedy mohli zapsat třeba takto:
# Nejprve zaarchivujeme HexEdit...
gnutar czvf /tmp/HexEdit.tar.gz ~/Projects/Applications/HexEditor --exclude build --exclude CVS
# ...a pak jej ulozime mezi zalohy
cp /tmp/HexEdit.tar.gz "/Backups/HexEdit of `date`.tar.gz"
# To je vsechno.
Znak '#' můžeme použít pro uvedení komentáře i za příkazem: vše, co za ním následuje, je komentář:
ls -l # chceme videt, co vsechno je na disku
Jestliže naopak chceme, aby znak '#' byl součástí argumentů příkazu, použijeme obrácené lomítko (už jej dávno známe jako universální "escape" znak, umožňující vkládat např. mezery do jmen souborů nebo měnit chování regulárních výrazů):
25 /tmp> cat > test
echo Nazdar # Toto je komentar
echo Takhle se \# vypise
^D
26 /tmp> ./test
Nazdar
Takhle se # vypise
27 /tmp>
Samozřejmě, že bychom opět namísto obráceného lomítka mohli použít uvozovky nebo apostrofy.
Volba shellu
Jestliže připravíme skript tak, jak jsme si dosud ukazovali, je zde jeden problém: je třeba jej předat shellu ke zpracování, to je zřejmé, ovšem kterému shellu?
Unix — a tedy samozřejmě i Mac OS X — proto nabízí jednoduchý ale překvapivě účinný trik. Jestliže totiž je na prvním řádku shellu speciální komentář "vykřičník, jméno shellu", použije se automaticky požadovaný shell. Můžeme tak snadno používat speciální příkazy třeba zsh (vzpomeňme na nastavování proměnných, které se v různých shellech liší!), aniž bychom se museli bát, že bude jiným shellem zpracováno nekorektně; stačí použít tento text v prvém řádku:
#!/bin/zsh
S volbou shellu se ovšem dá kouzlit i tak, že namísto pro některý ze shellů připravíme skript přímo třeba pro sed nebo awk! To si ale ukážeme až příště.
Obsah seriálu (více o seriálu):
- Obcování s ďáblem
- Obcování s ďáblem 2 - základy
- Obcování s ďáblem 3 - Práce se soubory
- Obcování s ďáblem 4 - Další práce se soubory
- Obcování s ďáblem 5 - Stále soubory, hlavně linky
- Obcování s ďáblem 6: Pár zbývajících drobností
- Obcování s ďáblem 7: Samá voda, přihořívá, hoří!
- Obcování s ďáblem 8: Jak se do shellu volá, tak se program ozývá
- Obcování s ďáblem 9: Nové finty na programy
- Obcování s ďáblem 10: Do fronty, pánové, do fronty!
- Obcování s ďáblem 11: Standardní vstup a výstup
- Obcování s ďáblem 13: Další triky
- Obcování s ďáblem 14: Vyšší škola hledání souborů
- Obcování s ďáblem 15: Příkaz find stokrát jinak
- Obcování s ďáblem 16: Co se ještě dá uvařit z příkazu find
- Obcování s ďáblem 17: Regulární výrazy
- Obcování s ďáblem 18: Speciální regulární výrazy
- Obcování s ďáblem 19: Skládání regulárních výrazů
- Obcování s ďáblem 20: Regulární výrazy se zpětnými odkazy
- Obcování s ďáblem 21:K čemu je dobrý grep...
- Zázraky ihned, nemožné na počkání: sed
- Obcování s ďáblem - další finty s příkazem sed
- Rozsáhlejší příklad se sedem
- Obcování s ďáblem: Další kouzla, aneb awk
- Awk a proměnné
- Obcování s ďáblem 27: Awk a výrazy
- Obcování s ďáblem: Awk a funkce
- Awk a příkazy
- Co je to vlastně "uživatel"?
- Vlastnictví objektů
- Přístupová práva
- Vlastník, skupina, ostatní...
- Jak je to se skupinami?
- Skupiny a uživatelé
- Scripty
- Komentáře, a volba shellu
- Pro skript může být shell cokoli!
- Shellové skripty a argumenty
- Skripty a proměnné: aritmetika
- Proměnné shellu, "dědění" hodnot
- Práce s proměnnými
- Práce se jmény souborů
- Pole hodnot
- Další triky kolem polí...
- Standardní proměnné shellu
- Základní příkazy pro skripty
- Příkaz if
- Speciální podmínkové příkazy
- Podmínky pro práci se soubory
- Jednoduchý cyklus
- Příkaz for a pomocné příkazy break a continue
- Příkaz case
- Příkazy exit a select
- Rejstřík a přehled
- Procesy
- Informace o procesech
- Další klíčová slova pro příkaz ps
- Příkaz ps: několik praktických přepínačů
- A k čemu že je "ps" dobré?
- Copak procesor, s pamětí je to horší
- Virtuální paměť
- A ještě jednou virtuální paměť
- Zpět k příkazu ps
- Skutečný žrout paměti
- Ještě jednou top
- Doplněk k topu: vm_stat
- Co to tedy všechno znamená?
- Nevychází nám dal a má dáti?
- Kam se stránky ukládají?
- Změna odkládacího disku
- Změna odkládacího disku / fstab
- Poslední poznámka k fstab
- A jak to je se soubory?
- Co vlastně příkaz lsof vypisuje?
- Příkaz lsof a obsah sloupce NAME
- SIPS - Terminál není jen pro nadšence UNIXu
- Tak nám zabili NetInfo, paní Müllerová