http://explainshell.com/ - parsuje příkaz a vysvětlí co jednotlivé části znamenají
změní mód na vi
set -o vi
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:
[ 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ý$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ěruje stdout do souboru2>
- přesměruje stderr do souboru&>
- přesměruje stdout i stderr do souboru1>&2
- přesměruje stdout do stderr2>&1
- přesměruje stderr do stdouthlavič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"
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
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\] \$ "