Articles of bash

Exécuter la ligne actuelle dans bash à partir de vim

Cette question est similaire à Vim: exécuter le fichier actuel? mais au lieu d’exécuter le fichier en cours, je veux exécuter uniquement la ligne en cours. Est-ce possible? Mise à jour: Idéalement, je cherche des solutions qui peuvent avoir des effets secondaires dans la shell externe. Par exemple, supposons que je dispose de la ligne […]

Comment utiliser la commande de lecture dans Bash?

Lorsque j’essaie d’utiliser la commande read dans Bash comme ceci: echo hello | read str echo $str Rien ne résonnait, alors que je pense que str devrait contenir la chaîne hello . Quelqu’un peut-il m’aider s’il vous plaît à comprendre ce comportement?

Regex correspondant dans une instruction Bash if

Qu’est-ce que je faisais mal ici? Essayer de faire correspondre une chaîne contenant des espaces, des minuscules, des majuscules ou des nombres. Les caractères spéciaux seraient bien aussi, mais je pense que cela nécessite d’échapper à certains caractères. TEST=”THIS is a TEST title with some numbers 12345 and special char *&^%$#” if [[ “$TEST” =~ […]

Comment obtenir le répertoire $ HOME de différents utilisateurs en script bash?

Je dois exécuter une partie d’un script bash en tant qu’utilisateur différent et dans le répertoire $HOME cet utilisateur. Cependant, je ne suis pas sûr de savoir comment déterminer cette variable. Passer à cet utilisateur et appeler $HOME ne fournit pas l’emplacement correct: # running script as root, but switching to a different user… su […]

Bash: diviser la chaîne en tableau de caractères

J’ai une chaîne dans un script shell Bash que je veux diviser en un tableau de caractères, non basé sur un délimiteur mais sur un seul index de tableau. Comment puis-je faire ceci? Idéalement, il n’utiliserait aucun programme externe. Laissez-moi reformuler cela. Mon objective est la portabilité, de sorte que des choses comme sed , […]

Les expressions d’expansion des parameters $ {var} peuvent-elles être nestedes dans bash?

Ce que j’ai c’est ceci: progname=${0%.*} progname=${progname##*/} Cela peut-il être nested (ou non) dans une seule ligne, c’est-à-dire une seule expression? J’essaie de supprimer le chemin et l’extension d’un nom de script afin que seul le nom de base rest. Les deux lignes ci-dessus fonctionnent bien. Ma nature “C” me pousse simplement à les masquer […]

Fonctions dans le fichier Makefile

J’écris un Makefile avec beaucoup de choses répétitives, par exemple debug_ifort_Linux: if [ $(UNAME) = Linux ]; then \ $(MAKE) FC=ifort FFLAGS=$(difort) PETSC_FFLAGS=”…” \ TARGET=$@ LEXT=”ifort_$(UNAME)” -e syst; \ else \ echo $(err_arch); \ exit 1; \ fi où la cible ‘syst’ est définie, la variable ‘UNAME’ est définie (et est généralement Linux, mais pourrait […]

Pourquoi est-ce que $ ((true == false)) est évalué à 1 en bash?

Pourquoi bash a-t-il le comportement suivant? echo $((true == false)) 1 J’aurais pensé que cela imprimerait 0 , mais il imprime 1 . Ceci est encore compliqué par les faits suivants: > echo $((true)) 0 > echo $((false)) 0 > echo $((true == true)) 1 > echo $((false == false)) 1

Quelles sont les valeurs de sortie d’erreur pour diff?

Sur la page de manuel diff , j’ai trouvé ces valeurs de sortie: 0 No differences were found. 1 Differences were found. >1 An error occurred. Existe-t-il des valeurs de sortie différentes supérieures à 1 pour différentes erreurs?

Y a-t-il des langues qui comstacknt en Bash?

J’adore et je déteste écrire Bash. J’adore le fait qu’il soit si simple à utiliser sur des fichiers et à travailler avec des processus (je suis d’accord avec cette question populaire que Python, Ruby, etc.), mais je déteste la syntaxe, en particulier les conditions, les boucles, etc. . (Ceci est subjectif, mais je le trouve […]