Uživatelské nástroje

Nástroje pro tento web


navody:bash

Bash

http://explainshell.com/ - parsuje příkaz a vysvětlí co jednotlivé části znamenají

změní mód na vi

set -o vi

Barvy

Text:

  • 0;30 - černá
  • 0;31 - červená
  • 0;32 - zelená
  • 0;33 - hnědá
  • 0;34 - modrá
  • 0;35 - purpurová
  • 0;36 - azurová
  • 0;37 - světle šedá
  • 1;30 - tmavě šedá
  • 1;31 - světle červená
  • 1;32 - světle zelená
  • 1;33 - žlutá
  • 1;34 - světle modrá
  • 1;35 - světle purpurová
  • 1;36 - světle azurová
  • 1;37 - bílá

Pozadí textu:

  • 40 - černá
  • 41 - červená
  • 42 - zelená
  • 43 - hnědá
  • 44 - modrá
  • 45 - purpurová
  • 46 - azurová
  • 47 - světle šedá

Klávesové zkratky emacs mód

  • Ctrl + a - jde na začátek řádku
  • Ctrl + e - jde na konec řádku
  • Ctrl + k - smaže vše mezi kurzorem a koncem řádku
  • Ctrl + u - smaže vše mezi kurzorem a začátkem řádku
  • Ctrl + w - smaže vše mezi kurzorem a začátkem slova
  • Ctrl + y - vloží to, co bylo výše uvedenými zkratkami smazáno (vyjmuto)
  • Ctrl + xx - přepíná mezi 2 uloženým pozicemi kurzoru (pozice se uloží při použití této zkratky)

Podmínky

  • [ výraz ] - délka řetězce je nenulová
  • [ -z výraz ] - délka řetězce je nulová
  • [ výraz1 == výraz2 ] - řetězce jsou shodné
  • [ výraz1 != výraz2 ] - řetězce jsou různé
  • [ výraz1 -eq výraz2 ] - čísla jsou shodná
  • [ výraz1 -le výraz2 ] - výraz1 <= výraz2
  • [ výraz1 -lt výraz2 ] - výraz1 < výraz2
  • [ výraz1 -ge výraz2 ] - výraz1 >= výraz2
  • [ výraz1 -gt výraz2 ] - výraz1 > výraz2
  • [ výraz1 -ne výraz2 ] - čísla jsou různé

Testování souborů:

  • [ výraz1 -ef výraz2 ] - soubory sdílejí stejný i-uzel
  • [ výraz1 -nt výraz2 ] - první soubor je novější
  • [ výraz1 -no výraz2 ] - první soubor je starší
  • [ -e výraz ] - soubor existuje
  • [ -d výraz ] - soubor je adresář
  • [ -f výraz ] - soubor je obyčejný soubor
  • [ -L výraz ] - soubor je symbolický odkaz
  • [ -w výraz ] - soubor je zapisovatelný
  • [ -x výraz ] - soubor je spustitelný

Proměnné

  • $0 - jméno programu
  • $1 - první argument
  • $* - argumenty oddělené předdefinovaným oddělovačem
  • $@ - argumenty oddělené mezerou
  • $# - počet argumentů
  • $$ - PID shellu
  • $! - PID posledního procesu, který byl spuštěn na pozadí
  • $? - návratová hodnota posledního dokončeného procesu.

Přesměrování

  • > - přesměruje stdout do souboru
  • 2> - přesměruje stderr do souboru
  • &> - přesměruje stdout i stderr do souboru
  • 1>&2 - přesměruje stdout do stderr
  • 2>&1 - přesměruje stderr do stdout

Příklady

hlavička bash skriptů

#! /bin/bash

proměnná v řetězci

echo "promena v${PATH}retezci"

vytiskne světlezelené ahoj na hnědém pozadí

echo -e "\033[1;32m\033[43m ahoj \033[00m"

vypíše skryté adresáře

echo .[^.]*

argumenty příkazu čte ze souboru

cp $(< <soubor>) <adresář>
# nebo
cp $(cat <soubor>) <adresář>

vygeneruje pseudonáhodné číslo 1 nebo 0

number=$RANDOM
let "number %= 2"

Řídící struktury

pro všechny soubory Example*.php spustí příkaz (zapsáno v jednom řádku)

for file in Example*.php; do php -q $file; done

otestování jestli jsou nějaké argumenty

if [ $# -eq 0 ]; then
    result="nejsou"
else
    result=$1
fi

Příklady .bashrc

nastaví prompt bílej s černým pozadím ve formátu <uživatel>@<server>:<cesta> $

export PS1="\[\033[40m\]\[\033[1;37m\]\u@\h:\w\[\033[00m\] \$ "
navody/bash.txt · Poslední úprava: 2014/04/10 06:46 autor: jules