Shell Prakticky
Typické problémy
+ Otázky a odpovědi

Lukáš Bařinka

Cíl

Cílem je podívat se prakticky na typické problémy začátečníka v shellu a jejich řešení.

Obsah

  • Speciální znaky, použití uvozovek
  • Jsem jinde než program nebo než data
  • Práce s proměnnou a souborem
  • Rozdíl mezi filtrem a ostatními programy
  • Testovací data, jak si je připravit nebo kde je vzít
  • Co má a nemá být součástí řešení problému

Otázky a odpovědi

Speciální znaky, použití uvozovek

  • Mezery (bílé znaky)
  • Znaky pro globbing: *, ?, []
  • Hodnoty proměnných s bílými/speciálními znaky
  • Jména souborů (při přesměrování)
  • Rozdíl mezi 'apostrofy' a "uvozovkami"
  • Použití 'apostrofů' a "uvozovek"
  • Nevnořování
  • V subshellu není problém při použití $()

Jsem jinde než program nebo než data

  • Aktuální adresář
  • Relativní VS absolutní cesta
  • Proměnná PATH a aliasy
  • Prefix/cesta v proměnné

Práce s proměnnou a souborem

  • Přesměrování do/ze souboru
  • Uložení/čtení hodnoty proměnné
  • Pipeline bez mezivýsledků

Rozdíl mezi filtrem a ostatními programy

  • Ne všechno je filtr
  • Filtr čte svůj standardní vstup
  • Čtení standardního vstupu a nebo souboru/ů (-)

Testovací data, jak si je připravit nebo kde je vzít

  • Obvykle dostupné soubory
    /etc/passwd, /etc/group, /usr/share/dict/words
  • Smyslupný text
    man ..., uname -a, getent passwd/group/hosts
  • Jednoduché generátory dat
    printf, {..}, nl, env, declare -p

Co má a nemá být součástí řešení problému

  • Zobecnění
    (uživatel, server, čas, cesta,
    obsah aktuálního adresáře)
  • Úklid po dočasných souborech

  • Testovací data/proměnné
  • Ladící výpisy
  • Použití aliasů

Otázky a odpovědi