Ludovic CHEVRAUX

Des histoires de Dev & SysAdmin

Des boucles en one-liner avec l’interpréteur Bash

Une petite astuce pour utiliser la structure de contrôle for en une ligne sur un interpréteur Bash :

Dans l’exemple ci-dessous, le script ru.sh du répertoire courant sera exécuté 100 fois. Note : && signifie que l’on exécutera l’instruction à droite que si l’instruction précédente n’a pas produit d’erreur. Dans notre cas, on affichera le numéro d’exécution à l’aide de echo uniquement si le script run.sh a été lancé. Pour réaliser des traitements sur des fichiers, on peux également utiliser la structure suivante :

-type d : uniquement les dossiers -maxdepth 1 : […]

Création d’un tunnel SSH

Accès à un service distant en écoute sur une interface locale Dans cet exemple le scénario est assez simple, un serveur héberge une base de donnée sur son port 3306. Le service est en écoute sur l’interface de loopback uniquement, l’administrateur ne peut donc pas interroger la base de manière directe : On va donc établir un tunnel SSH pour résoudre notre problème :

Concernant les paramètres, pour simplifier, les options -f -N servent à placer le tunnel en tâche de fond, et -Llocalhost:33060:localhost:3306 indique que l’on souhaite créer un tunnel SSH sur notre […]

Chmod récursif sur fichier ou dossier uniquement

Lorsque l’on souhaite modifier les permissions d’une arborescence complète, on pense souvent au paramètre -R de la commande chmod. Cependant, cette commande ne dispose pas d’arguments permettant de filtrer l’application du chmod uniquement sur les fichiers ou les dossiers. Un simple script Bash pourrait résoudre notre problème, mais pourquoi compliquer les choses alors que l’on peut faire cela en une commande avec find ? 🙂

  Et pour terminer, une petite astuce pour trouver des fichiers possédants des permissions particulières :

 

By