Affichage des articles dont le libellé est bash. Afficher tous les articles
Affichage des articles dont le libellé est bash. Afficher tous les articles

vendredi 20 novembre 2020

bash, appel callback à la sortie...

Il est possible en bash d'appeler des méthodes lorsque de la fin du script est atteinte et ce même s'il y a une erreur. Ci-dessous, le script appellera cleanup_err puis cleanup_ok lorsque false sera atteint.



C'est bien pratique pour nettoyer les fichiers et répertoires temporaires :)
trap

jeudi 30 avril 2020

commande, comparer des ensembles avec comm

Parfois, on a besoin de comparer des ensembles. La commande comm permet de faire ressortir :

  • les valeurs qui n'appartiennent qu'au fichier f1 (colonne 1)
  • les valeurs qui n'appartiennent qu'au fichier f2 (colonne 2)
  • les valeurs qui appartiennent aux fichiers f1 et f2 (colonne 3)
En jouant sur les options, on peut faire disparaître les valeurs d'une ou plusieurs colonnes
  • -1 pour faire disparaître la colonne 1
  • -2 pour faire disparaître la colonne 2
  • -3 pour faire disparaître la colonne 3
Attention, les fichiers doivent être au préalable triés.


Exemple :

jeudi 23 avril 2020

bash, uniformisation de numéros de version

Sur notre projet, les numéros de version des lots s'appellent des GOROCO.

Ils regroupent tout un tas d'applicatifs ayant chacun leur propres numéros de version (format x.y.z).

Ils peuvent être saisis de différentes manières, avec des 0, sans 0... du coup pour uniformiser les valeurs, j'ai réussi à trouver les commandes bash pour les avoir sur 1 caractère si possible (GOROCO) ou bien sur 2 (GOOROOCOO).



mardi 21 avril 2020

bash, créer des requêtes sql depuis un csv

Il y a quelques temps, j'avais utilisé la commande awk pour générer des requêtes sql depuis un fichier CSV.

Dans le cas présent, j'utilise simplement un script bash.

Au final, la solution bash -bien que plus verbeuse- me semble plus lisible à lire et modifier.

mardi 9 juillet 2019

bash, lignes dupliquées

Dans d'anciens post, j'avais parlé de la commande uniq

Il est possible de ne garder que les lignes dupliquées. Il faut utiliser l'option -d




mercredi 17 octobre 2018

bash, script seqdate

Script réutilisable pour générer des dates avec date et seq



mardi 16 octobre 2018

bash, générer des dates avec les commandes seq et date

Parfois il peut être utile d'avoir une liste de dates pour appeler un script particulier.

Cette liste peut être générée à partir des commandes seq et date comme dans l'exemple ci-dessous.

vendredi 27 juillet 2018

bash, select

Je viens de m'apercevoir que je n'ai jamais parlé de la commande select sous bash. Celle-ci est très pratique car elle permet de faire un choix en précisant un numéro et non sa valeur.

Exemple d'utilisation ci-dessous :

vendredi 20 avril 2018

commande, history

Parfois, on ne sait plus si on a relancé une commande dans le terminal...

Pour avoir un historique daté, voici une petite configuration à ajouter à son .bashrc



Désormais, l'appel à l'historique produit des lignes avec les informations jour/mois heure/minute

vendredi 9 septembre 2016

base64, encoder/décoder sous bash



On peut utiliser les programmes base64 (GNU coreutils) voir recode.

jeudi 11 février 2016

bash, utilisation des commandes bang !

Voici un gros post concernant les commandes bang de bash.

Je connaissais "!!", "!ligne" et "!commande" ce qui est déjà pas mal. Mais il y en a bien d'autres !!!

En les connaissant et les utilisant, il doit être possible de minimiser les contacts avec la souris ;)

Les commandes :



Quelques cas d'usage simples :



D'autres cas d'usage avec modification des paramètres



Sources :

mercredi 27 janvier 2016

bash, type mime

On peut déterminer le type mime d'un fichier en bash en utilisant la commande file

jeudi 3 décembre 2015

bash, vérifier que le fichier est "sourcé"

Le code suivant permet de vérifier que le script est sourcé et non exécuté



vendredi 6 février 2015

bash, heredocuments

Il est possible de désactiver les substitutions dans les heredocuments en bash.

Pour se faire, il suffit de quoter son nom.



Produit :

vendredi 16 janvier 2015

Bash, ajout d'un répertoire au PATH

Pour tester et ajouter un répertoire au PATH, on peut faire comme ceci dans son ~/.bashrc



L'utilisation d'un test avec regexp permet de garder une variable avec un contenu "propre".

mercredi 14 janvier 2015

Bash, comment faire pour exécuter du code en fonction de la présence de fichier*s*

Bash met à disposition des opérateurs pour tester l'existence de fichiers, leur type, droits d'accès...

Toutefois, dans certains cas, on peut souhaiter tester la présence de fichiers et appliquer un traitement si l'un d'entre eux existe.

On peut utiliser la commande ls couplée à if comme le montre l'exemple ci-dessous

mercredi 7 janvier 2015

bash, créer dynamiquement une liste de paramètres pour appeler une commande

Voici comment créer dynamiquement une liste de paramètres et l'utiliser dans des appels de commande.
Le cas des espaces dans les options est bien géré.

Dans le cas présent, cela sert à afficher une boite de dialogue (utilitaire whiptail livré d'office sous debian) pour que l'utilisateur puisse choisir les actions à effectuer



Pour des radioboutons, remplacer --selectbox par --radiobox

vendredi 19 décembre 2014

bash, md5sum

On utilise souvent md5sum et sha1sum pour calculer des sommes de contrôle.

Ces commandes permettent aussi de contrôler celles-ci. Je viens de percuter cette semaine seulement !

Cela peut être pratique pour vérifier automatiquement qu'un/des fichier(s) de configuration a/ont été modifié(s) à la main et non généré(s).



md5sum, sha1sum, sommes de contrôle

vendredi 24 octobre 2014

Bash, raccourcis clavier connus et méconnus...

Un petit post pour rappeler les raccourcis clavier dans les terminaux.

Certains sont bien utiles comme le Esc + . que j'utilise constamment ;)