Felhasználói eszközök

Eszközök a webhelyen


bash

Ez a dokumentum egy előző változata!


SHELL script alapok

script fájl elejére:

#!/bin/bash
#!/usr/bin/perl

egyébként az aktuálisan futó shellben fut

"Magic" változók
  • $? → visszatérési érték
  • $# → paraméterek száma
  • $@for valami in $@; do … done #az összes parancssori argumentumon végigmegy
  • $$ → az aktuálisan futó parancs pidje
  • $! → utolsó háttérben futó parancs pidje
if then else fi
if [ ... ]; then ... fi

(SPACE számít a [] között!!)

feltételek
  • [ -z arg ] → true, ha arg üres
  • [ a -eq b ]
  • -lt, -gt, -eq, -ne
  • = → string összehasonlítás
  • ! [ … ] && [ … ] || [ … ] → és, vagy, negáció
Példák
[ -z "$1" ] && echo "Adj meg parametert"
if [ ! -z "$1" ] && grep "^$1:" /etc/passwd; then
  echo "Hello World!"
fi
subshell mikor indul?
  • `ez a fajta futtatás`
  • ( echo 1; echo 2 ) ez pipe-olható
  • ./valami.sh
  • pipe-olásnál is!
ez nem indít subshellt, csak include-olja
  • . valami.sh
  • másképp: source valami.sh
File olvasás
''read L;'' -> L változóba olvas egy sort a stdin-rõl, 0-val tér vissza, ha OK
Fájlok, könyvtárak
  • dirname → kiírja a paraméterben megadott fájl könyvtárnevét (ahogy meghívták)
  • basename → ugyanez a fájlnévre
  • tempfile → létrehoz egy random fájlt a /tmp-ben és visszaadja a nevét. Pl: TMP=`tempfile`; … $TMP … ; rm -f $TMP
  • mkdir -p → a teljes könyvtárstruktúrát létrehozza, ha nem létezik még
  • rm -f → ha létezik, akkor töröl, hibakódot nem ad
""set"" parancs
  • set -x → bekapcsolja, hogy minden végrehajtott parancsot kiír helyettesítés után
  • set +x → kikapcsolja, …
  • bash -x … → ilyen módban futtatja a parancsot
  • set -e → mód: ha egy parancs visszatérési értéke hamis, leállítja a parancs futását.
  • set +e → kikapcsolja ezt a módot
sed
sed 's/what/for/g'
  • ?* → non-greedy * (alk. +-ra is).
  • alapból greedy operátort alkalmaz..
Példák
cat /etc/passwd | sed 's/\([^:]\+\):x:[0-9]\+:[0-9]\+:\([^:]*\).*$/\1 \2/'
cut -f1,5 -d: /etc/passwd
cut -c (karakterszám alapján)
cat /etc/passwd | awk 'BEGIN{FS=":";} {printf("%s %s\n",$1,$5);}'
SHELL Függvények
valami() {függvény kódja... ; return 0}
Billentyűparancsok
CTRL C -> TERM signal
CTRL D -> stream vége (EOF)
CTRL \ -> QUIT signal
CTRL Z -> STOP 
CTRL S -> Scroll Lock, fagyasztja a terminált, Q-val felold
CTRL R -> Elõzõ parancsok között keres
Job management
jobs -> minden processzhez index
bg [index]
fg [index]
CTRL-Z
SCREEN
  • CTRL-a → ? → help
  • CTRL-aa → legutóbbi ablak
  • CTRL-a, BACKSPACE → köv. ablak
  • CTRL-a, c → create
  • CTRL-a, d → detach
  • CTRL-a,[ → COPY mód, scrollozni lehet, esc a kilépés

Paraméterek:

  • screen -d → detach all
  • screen -R → reattach
AWK++
cat /etc/passwd | awk 'BEGIN{FS=":";} {printf("%s %s\n",$1,$5);}'

Ne tedd:

#!/bin/awk

De:

#!/bin/bash
cat fn | awk '
BEGIN{
 FS=":"
}

{
  print $1
}
'
GREP
  • -v negált
  • -i case-insensitive
bash.1484224663.txt.gz · Utolsó módosítás: 2018/10/03 13:31 (külső szerkesztés)