Uživatelské nástroje

Nástroje pro tento web


bash_general

Toto je starší verze dokumentu!


Obecně Bash

  • bash je velice mocný :) jde v něm všechno, ale člověk hodně zapomíná :) Sespsal jsem alespoň pár velice často zapomínaných věcí :)

Čtení ze souboru

  • velice jednoduché čtení po jednom řádku
  • pokud se přenastaví IPS, lze myslím použít i na čtení hodnot oddělených jinak než newline
while read line
do
  echo $line
done < $FILE

Pole

  • inicializace
  MY_ARRAY=("ONE" "TWO")
  • přistup k hodnotám
  echo ${MY_ARRAY(0)}
  echo ${MY_ARRAY(1)}

Datum a čas

  • převod data na timestamp
date +%s
  • a zpátky
date -d @1365436714 

Regulární výrazy

  • bash podporuje regulární výrazy přímo, například v podmínkách (také v cyklech..)
  [[ $string =~ $regex ]]
  • pěkný regex pro poctivé parsování IP adresy přes bash
RE_IP="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"

Startwith/Endwith

MY_STR="123ABC"
MY_SUB1="123"
MY_SUB2="ABC"
 
echo "${MY_STR#$MY_SUB1}, ${MY_STR%$MY_SUB2}"
[ "${MY_STR}" != ${MY_STR#$MY_SUB1} ] && echo "${MY_STR} startwith ${MY_SUB1}"
[ "${MY_STR}" != ${MY_STR%$MY_SUB2} ] && echo "${MY_STR} endwith ${MY_SUB2}"
ABC, 123
123ABC startwith 123
123ABC endwith ABC

Řetězce

X="a.b.c"; echo ${X//./#}
a#b#c
  • získání podřetězce
x="AAA#BBB"; echo ${x#*#}; echo ${x%#*}
BBB
AAA
bash_general.1509222312.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki