Articles of bash

Comment vérifier s’il est exécuté sous Cygwin, Mac ou Linux?

J’ai un script shell qui est utilisé à la fois sur Windows / Cygwin et Mac et Linux. Il nécessite des variables légèrement différentes pour chaque version. Comment un script shell / bash peut-il détecter s’il est exécuté dans Cygwin, sur un Mac ou sous Linux?

Appel de plusieurs commandes via xargs

cat a.txt | xargs -I % echo % Dans l’exemple ci-dessus, xargs prend echo % comme argument de commande. Mais dans certains cas, j’ai besoin de plusieurs commandes pour les traiter, par exemple: cat a.txt | xargs -I % {command1; command2; … } Mais xargs n’accepte pas ce formulaire. Une solution que je connais est […]

Comment savoir si une variable est vide ou non dans Bash

Comment puis-je vérifier si une variable est vide dans Bash?

Comment faire “si pas vrai état”?

Je voudrais que la commande echo exécutée quand cat /etc/passwd | grep “sysa” cat /etc/passwd | grep “sysa” n’est pas vrai. Qu’est-ce que je fais mal? if ! [ $(cat /etc/passwd | grep “sysa”) ]; then echo “ERROR – The user sysa could not be looked up” exit 2 fi

Accéder à la ligne de commande bash args $ @ vs $ *

Dans de nombreuses questions et didacticiels SO, je vois que je peux accéder aux arguments de la ligne de commande dans les scripts bash de deux manières: $ ~ >cat testargs.sh #!/bin/bash echo “you passed me” $* echo “you passed me” $@ Qui aboutit à: $ ~> bash testargs.sh arg1 arg2 you passed me arg1 […]

Avec Bash Scripting, comment puis-je supprimer toutes les sorties d’une commande?

J’ai un script bash qui exécute un programme avec des parameters. Ce programme affiche un statut (en faisant cela, en faisant cela …). Il n’y a pas d’option pour que ce programme soit silencieux. Comment puis-je empêcher le script d’afficher quoi que ce soit? Je cherche quelque chose comme windows “echo off”.

Vérification efficace du statut de sortie de Bash de plusieurs commandes

Y a-t-il quelque chose de similaire à pipefail pour les commandes multiples, comme une instruction ‘try’ mais dans bash. Je voudrais faire quelque chose comme ça: echo “trying stuff” try { command1 command2 command3 } Et à tout moment, si une commande échoue, supprimez-la et répétez l’erreur de cette commande. Je ne veux pas avoir […]

Expire une commande dans bash sans délai inutile

Cette réponse à la commande de ligne de commande pour tuer automatiquement une commande après un certain temps propose une méthode à une ligne pour expirer une commande de longue durée à partir de la ligne de commande bash: ( /path/to/slow command with options ) & sleep 5 ; kill $! Mais il est possible […]

Chaîne multiligne avec espace supplémentaire (indentation préservée)

Je souhaite écrire des textes prédéfinis dans un fichier avec les éléments suivants: text=”this is line one\n this is line two\n this is line three” echo -e $text > filename Je m’attends à quelque chose comme ça: this is line one this is line two this is line three Mais j’ai eu ça: this is […]

Quelle est la différence entre [et [[dans Bash?

J’ai regardé la page de manuel bash et le [[ indique qu’il utilise des expressions conditionnelles. Ensuite, j’ai regardé la section Expressions conditionnelles et elle répertorie les mêmes opérateurs que test (et [ ). Alors, je me demande quelle est la différence entre [ et [[ dans Bash?