L’article de Daniel Valev sur DevOps.dev explore six habitudes terminal qui distinguent les ingénieurs seniors des autres, en mettant l’accent sur une approche plus efficace et moins sujette aux erreurs. L’idée centrale repose sur une utilisation plus intelligente des outils existants plutôt que sur la maîtrise de commandes complexes. Par exemple, l’ajout systématique d’un en-tête robuste dans les scripts Bash (set -euo pipefail) permet d’éviter des bugs courants en gérant les erreurs, les variables non définies et les échecs dans les pipelines, réduisant ainsi les incidents en production.
L’auteur souligne aussi l’importance de techniques comme la substitution de processus, qui élimine le besoin de fichiers temporaires pour manipuler des flux de données, simplifiant ainsi des tâches comme la comparaison de configurations ou la diffusion simultanée de sorties vers plusieurs commandes. Une autre habitude clé est l’exploitation des fonctionnalités de contrôle des processus (Ctrl+Z, fg, bg), souvent sous-utilisées, pour basculer rapidement entre tâches sans perdre le contexte, améliorant ainsi la productivité lors des interventions ou du débogage. Ces pratiques reflètent une mentalité axée sur l’optimisation des flux de travail plutôt que sur la vitesse brute.
Flyline est un plugin Bash écrit en Rust qui remplace la bibliothèque readline pour offrir une expérience de ligne de commande moderne. Il propose des fonctionnalités avancées comme la syntaxe en temps réel, des suggestions intelligentes, une recherche floue dans l'historique, des invites personnalisables et des animations. Contrairement à readline, il inclut aussi la gestion de la souris, des tooltips et une intégration avec des agents externes.
Destiné aux utilisateurs recherchant une expérience shell optimisée sans configuration complexe, Flyline s'adresse aussi aux développeurs souhaitant étendre ses fonctionnalités. Il est compatible avec les systèmes Linux et macOS (nécessitant une version récente de Bash). L'installation se fait via un script dédié ou depuis les paquets AUR pour Arch Linux.
Le projet, sous licence MIT/GPLv3, est en développement actif avec des contributions communautaires. Il se distingue par son approche modulaire et sa performance, utilisant ratatui.rs pour des interfaces riches. Une fois installé, un tutoriel guide l'utilisateur pour configurer les paramètres comme la capture de la souris.
L’article explique comment gérer les options et arguments dans des scripts Bash afin de rendre les scripts plus flexibles et robustes, notamment via les commandes getopts, shift et les variables spéciales comme $1 ou $@. Il détaille la différence entre options courtes et longues, montre comment vérifier la présence d’arguments obligatoires et recommande des pratiques de développement plus sûres comme set -euo pipefail pour détecter rapidement les erreurs et éviter les comportements inattendus dans les scripts shell.
Ploum partage son expérience autour du jeu Le comte et la communiste, un jeu en AsciiArt où l’on incarne une espionne/servante dans un château pendant la Première Guerre mondiale. Le jeu intègre un message codé en Baudot, un ancien système de télégraphie, qu’il décide de décoder via la ligne de commande Linux. Après avoir expliqué sa méthode artisanale et efficace (utilisant cut, tr, paste, et sed), il compare son approche avec celle de ChatGPT. Malgré plusieurs tentatives, ChatGPT produit un script complexe, peu robuste et finalement incorrect, illustrant les limites de l’IA pour des tâches précises nécessitant une expertise technique. Ploum souligne l’élégance et l’efficacité des outils Unix, ainsi que l’importance de la réflexion personnelle face à l’automatisation aveugle. Une réflexion sur l’autonomie technique et la dépendance aux outils d’IA, le tout agrémenté d’une touche d’humour et d’une recommandation pour le livre Efficient Linux at the Command Line.
L’article explique comment envoyer des courriels au format multipart (texte brut + HTML + images intégrées) depuis NeoMutt, un client mail en terminal. L’auteur détaille d’abord la théorie derrière les courriels multipart (standards MIME, multipart/alternative, multipart/related), puis propose une solution pratique pour rédiger des emails en Markdown, les convertir en HTML avec Pandoc, et intégrer automatiquement les images via un script Bash. Le script génère des commandes NeoMutt pour structurer le message et associer les images via des identifiants uniques (Content-ID). Une macro NeoMutt permet d’exécuter le script et d’envoyer le message final, compatible avec les clients mail modernes. L’article inclut aussi des astuces pour la coloration syntaxique du Markdown dans NeoMutt et des références utiles pour approfondir le sujet.
Idéal pour ceux qui veulent envoyer des emails riches depuis le terminal sans écrire de HTML manuellement.
L'article présente 5 scripts Bash dont on peut s'inspirer pour construire les nôtres.
- Création d'un backup
- Surveillance du CPU, de la mémoire et de l'espace disque disponible avec alerte en cas de besoin
- Audit de sécurité rapide
- Vérification rapide de la réponse des sites
- Partitionnement de disque dur
Une astuce bash pour afficher les erreurs de manière à faciliter le debug
Tout est dans le titre
Tout est dans le titre
Make Linux Script Portable With #!/usr/bin/env As a Shebang - nixCraft - Liens en vrac de sebsauvage
Le lien de Sebsauvage contient aussi un lien vers son wiki avec des recommandations sur l'écriture de scripts Bash
Tout est dans le titre
L'auteur expose des critiques envers bash, et pourquoi il se tourne à présent vers fish
Tout est dans le titre
Quelques astuces sur le la variabel shell PATH
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
un article assez fantastique pour explorer les possibilités de printf (et de bash en général)
Tout est dans le titre