Expressions arithmétiques avec Bash

Tips   arithmétique   Bash  

Listes des opérations possible :

  • - + plus et moins unaire
  • ! ~ négations logique et binaire
  • * / % multiplication, division, reste
  • + - addition, soustraction
  • << >> décalage arithmétique à gauche et à droite
  • <= >= < > comparaisons
  • == != égalité et différence
  • & ET binaire
  • ^ OU exclusif binaire
  • | OU binaire
  • && ET logique
  • || OU logique
  • = *= /= %= += -= <<= >>= &= ^= |= assignations

Syntaxe :

Les opérations devrons être faite a l’intérieur de $(( )) cela retournera le resultat

Exemple :

a=1
b=2
echo $a "+ "$b "= "$(($a+$b))
1+2=3

Force Noire, Force Verte - Les super héros du Bash

News   Bash  
Pour les personnes qui font du scripting shell à un haut niveau, les astuces et les méthodes ne manquent pas. Il est même amusant de constater après plusieurs mois voire années de “programmation”, on en découvre encore des finesses ou des moyens détournés afin de parvenir à nos fins. Récemment, sur la mailing-list de Léa-Linux, un jeu avait été lancé sur des astuces du shell et quelques liens sont apparus grâce à un contributeur anonyme et poilu : Bash Hackers Léa-linux Documentations: Shell, les grands principes Et si vous êtes curieux, vous trouverez d’autres liens très intéressants dans le thread “Le mystère du code voodoo”. [Voir plus]

Postfix – Supprimer les mailerdaemon

Tips   Bash   postfix  
postqueue -p | grep MAILER-DAEMON | awk '{print $1}' | sed 's/[\*\!]//g' | postsuper -d -
  • postqueue -p : Affiche la liste des emails en queue
  • grep MAILER-DAEMON : Affiche uniquement les lignes qui contiennent MAILER-DAEMON
  • awk 'print $1' : Affiche uniquement la première chaine de caractères
  • sed ’s/[\*\ !]//g’ : Supprime les * de la chaine de caractères.
  • postsuper -d - : Injecte les id précédant dans la commande postsuper -d qui supprime les mails

Named – Checkconf Bind

bind   Bash  
#!/bin/sh echo -n /tmp/liste-espace echo " * Liste des fichiers de zone avec des espaces dans le domaine (find dans /var/named/) : " /tmp/liste-espace find /var/named/ -name " *.fwd " -print0 | xargs -0 grep -F " . " | awk -F ": " {' print $1 '} >/tmp/liste-espace echo " " >/tmp/liste-espace echo " * Liste des domaines avec un espace dans le named.com " >/tmp/liste-espace grep 'zone " ' /etc/named.conf | grep -F ' " {' >/tmp/liste-espace echo " " >/tmp/liste-espace echo " * Liste des domaines avec un _ dans le nom dans le fichier de zone (grep du named. [Voir plus]

Nettoyer une arboressance

Bash   clean   tree  

Ce script rechercher les fichiers de plus de 30 jours et les effaces puis efface les dossiers vide.

#!/bin/sh
#
# Configuration
PWD_DIR=/home/ftp_users
TEMP_DIR=/tmp
LOG_SCRIPT=/var/log/menage_ftp.log
DATE_MAX_FICHIER=30
DATE_MAX_DOSSIER=30

# Fichiers temporaire
LISTEFICHIER=$TEMP_DIR/menagemail_listefichier
LISTEDOSSIER=$TEMP_DIR/menagemail_listedossier

# Recherche des fichiers
find /home/ftp_users/\*/\* -type f -mtime $DATE_MAX_FICHIER | sort -r $LISTEFICHIER

# Recherche des dossiers
find /home/ftp_users/\*/\* -type d -mtime $DATE_MAX_DOSSIER | sort -r $LISTEDOSSIER
cat  $LISTEDOSSIER | while read i; do
  $CONTENU_DOSSIER_USER=\`ls -a $i | sed -e " /\.$/d " | wc -l\`
  if [ $CONTENU_DOSSIER_USER -eq 0 ]; then
    echo " a " /dev/null
  else
    rm -fr $i
  fi
done

Convertir un fichier ISO-8859-15 en UTF-8

Tips   Bash   iconv  
Le Paquet Verifier d’avoir le paquet Debian installe # dpkg -l | grep iconv ii libtext-iconv-perl La Commande La commande pour convertire le fichier ISO en UTF-8 iconv -f utf-8 -t iso-8859-15 fichier-ISO.txt > fichier-utf8. [Voir plus]