Articles of bash

Détecter si le paquet homebrew est installé

Je suis sur le point d’écrire un script shell pour détecter si plusieurs packages homebrew sont installés sur le système. Est-il possible d’utiliser une commande d’infusion pour y parvenir? J’ai essayé d’utiliser le code de sortie de brew install –dry-run . Mais cela crée le package s’il est manquant.

Comment exécuter le script bash ligne par ligne?

Si je saisis l’ option bash -x , elle affichera toutes les lignes. Mais le script s’exécutera normalement. Comment puis-je exécuter ligne par ligne? Que je peux voir si cela fait la bonne chose, ou si j’abandonne et corrige le bogue. Le même effet est mis une read dans chaque ligne.

Format personnalisé pour la commande de temps

Je voudrais utiliser la commande time dans un script bash pour calculer le temps écoulé du script et l’écrire dans un fichier journal. Je n’ai besoin que du temps réel , pas de l’utilisateur et du système. Besoin également dans un format décent. par exemple 00: 00: 00: 00 (pas comme la sortie standard). J’apprécie […]

BASH copie tous les fichiers sauf un

Je voudrais copier tous les fichiers d’un répertoire sauf un nommé Default.png. Il semble y avoir plusieurs façons de le faire. Qu’est-ce qui vous semble le plus efficace?

Commandes de bash multilignes dans makefile

J’ai un moyen très confortable de comstackr mon projet via quelques lignes de commandes bash. Mais maintenant, je dois le comstackr via makefile. Étant donné que chaque commande est exécutée dans son propre shell, ma question est la suivante: quelle est la meilleure façon d’exécuter la commande multi-line bash, dépend l’un de l’autre, dans makefile? […]

Comment passer la valeur d’une variable à la stdin d’une commande?

J’écris un script shell qui devrait être quelque peu sécurisé, c’est-à-dire qu’il ne transmet pas de données sécurisées via des parameters de commandes et n’utilise de préférence pas de fichiers temporaires. Comment puis-je passer une variable à la stdin d’une commande? Ou, si ce n’est pas possible, comment utiliser correctement les fichiers temporaires pour une […]

utiliser l’expression régulière dans if-condition dans bash

Je me demande la règle générale pour utiliser l’expression régulière dans la clause if dans bash? Voici un exemple $ gg=svm-grid-ch $ if [[ $gg == *grid* ]] ; then echo $gg; fi svm-grid-ch $ if [[ $gg == ^….grid* ]] ; then echo $gg; fi $ if [[ $gg == ….grid* ]] ; then […]

Bash expansion de tableau vide avec `set -u`

J’écris un script bash qui a set -u , et j’ai un problème avec l’expansion du tableau vide: bash semble traiter un tableau vide comme une variable non définie pendant l’expansion: $ set -u $ arr=() $ echo “foo: ‘${arr[@]}'” bash: arr[@]: unbound variable ( declare -a arr n’aide pas non plus.) Une solution courante […]

Comment intégrer un script bash directement dans un alias git

Puis-je intégrer le code shell bash suivant: for name in $(git diff –name-only $1); do git difftool $1 $name & done directement dans la création d’un alias git: git config –global alias.diffall ***my-bash-code-here*** Cela m’amène à ma question / réponse précédente sur SO, où je mets le code dans un fichier .sh, puis crée un […]

Pour les fichiers du répertoire, seul le nom de fichier echo (no path)

Comment puis-je faire écho uniquement au nom de fichier d’un fichier si je répare un répertoire avec une boucle for? for filename in /home/user/* do echo $filename done; va extraire le chemin complet avec le nom du fichier. Je veux juste le nom du fichier.