Bash – krótka powtórka

… czyli kilka rzeczy które zawsze zapominam

  • # Na początek podstawa, czyli wywalanie wszystkiego do kosza:
    $ echo test &> /dev/null
  • # Przekierowanie wyjścia błędów na wyjście standardowe – przydatne przy grep-owaniu
    $ echo test 2>&1
  • # Return value

    $cd /dada &> /dev/null
    $echo rv: $?
  • # Operatory porównania na string-ach

    s1 = s2
    s1 != s2
    s1 < s2
    s1 > s2
    -n s1
    -z s1

    Przy czym należy pamiętać, że stringi warto “chować” w cudzysłowach ” .
    Skrypt nie rozwala się wtedy gdy string jest pusty.

  • # Operatory porównania liczb

    -lt (<)
    -gt (>)
    -le (<=)
    -ge (>=)
    -eq (==)
    -ne (!=)
  • # Działania na liczbach
    $ echo $((36*43))
    1548
    
    $ echo 3/4 | bc -l
    .75000000000000000000
    
    $ echo  "scale=2; 3/4" | bc -l
    .75
    
  • # Formatowenie wyjscia w kolumny
    Zamiast standardowo używanego echo nalezy użyć printf np. :

    printf "%4s %-18s" $zmienna_dlugosci_do_4_znakow $zmienna_dlugosci_do_18_znakow;

    Pierwsza zmienna będzie wyrównywana do prawej, druga zaś do lewej (ze względu na myślnik przed liczbą).

  • # Zmienne lokalne
    function hello {
      local HELLO=World
      echo $HELLO
    }
    
  • # Debugging

    #!/bin/bash -x
  • #

#EOF


About this entry