Articles of bash

Différences entre MSYS2 et Cygwin

Traditionnellement, MSYS bash a été considéré comme inférieur à Cygwin bash. Le premier était un outil auxiliaire dans MinGW destiné à l’exécution de scripts autoconf. Mais maintenant, il y a MinGW-w64 et MSYS2. Ce dernier est livré avec un joli pacman comme un gestionnaire de paquets et des shells élégants comme zsh. Je me demande […]

Comment intégrer au mieux Emacs et Cygwin?

Il existe de nombreuses façons d’intégrer Cygwin avec Emacs sous Windows. EmacsWiki montre quelques idées. Voici les options que j’ai trouvées: Utilisez les Emacs fournis avec Cygwin. (Ensuite, trouvez un moyen d’accéder à cmd.exe si vous le souhaitez.) Utilisez NTEmacs et Cygwin comme un shell “parfois”. (Une commande spéciale pour lancer Cygwin) Utilisez NTEmacs et […]

Comment puis-je mettre à jour Bash dans Mac OSX Mountain Lion et définir le bon chemin?

Comme Mountain Lion utilise toujours l’ancienne bash 3.x, je me demandais s’il y avait un bon tutoriel (ou si quelqu’un pouvait en poster un ici) sur la façon de mettre à niveau bash vers la dernière version. En outre, il serait utile de savoir comment définir le chemin pour pouvoir l’utiliser dans un terminal. Merci […]

Empêcher les doublons d’être enregistrés dans l’historique bash

J’essaie d’empêcher bash de sauvegarder les commandes en double dans mon historique. Voici ce que j’ai: shopt -s histappend export HISTIGNORE=’&:ls:cd ~:cd ..:[bf]g:exit:h:history’ export HISTCONTROL=erasedups export PROMPT_COMMAND=’history -a’ Cela fonctionne bien lorsque je suis connecté et que .bash_history est en mémoire. Par exemple: $ history 1 vi .bashrc 2 vi .alias 3 cd /cygdrive 4 […]

bash si l’option -a vs -e

On parle des options -a et -e dans la documentation de Bash : -a file True if file exists. -e file True if file exists. En essayant d’obtenir la différence, j’ai exécuté le script suivant: resin_dir=/Test/Resin_wheleph/Results if [ -e ${resin_dir} ] ; then echo “-e “; fi if [ ! -e ${resin_dir} ] ; then […]

Bash obtient le statut de sortie de la commande lorsque ‘set -e’ est actif?

J’ai généralement -e défini dans mes scripts Bash, mais parfois je voudrais exécuter une commande et obtenir la valeur de retour. Sans faire le set +e; some-command; res=$?; set -e set +e; some-command; res=$?; set -e set +e; some-command; res=$?; set -e dance, comment puis-je faire ça?

Comment atsortingbuer une expression de globule à une variable dans un script Bash?

Lorsque les deux lignes de code suivantes sont exécutées dans un script bash, “ls” se plaint que les fichiers n’existent pas: dirs=/content/{dev01,dev02} ls -l $dirs Lorsque j’exécute le script avec l’option -x, il semble que la variable passe entre guillemets simples (ce qui empêcherait la globalisation): + dirs=/content/{dev01,dev01} + ls -l ‘/content/{dev01,dev01}’ ls: /content/{dev01,dev01}: No […]

Comment savoir où l’alias (au sens bash) est défini lors de l’exécution de Terminal sous Mac OS X

Comment savoir où un alias est défini sur mon système? Je fais référence au type d’alias utilisé dans une session de terminal lancée à partir de Mac OS X (10.6.3). Par exemple, si j’entre la commande alias sans paramètre à l’invite de commande du terminal, j’obtiens une liste d’alias que j’ai définie, par exemple: alias […]

Pourquoi les alias d’un shell Bash non interactif ne fonctionnent pas

J’essaie d’utiliser des alias dans un shell bash non interactif. J’ai défini mes alias dans ~/.bashrc et j’ai défini la variable BASH_ENV=~/startUpFile . Le contenu de startUpFile est source ~/.bashrc . Je peux voir que mes alias sont reconnus quand j’exécute la commande alias . Cependant, si j’essaie d’utiliser un alias défini dans ~/.bashrc , […]

‘+’ (une ou plusieurs occurrences) ne fonctionne pas avec la commande ‘sed’

J’essaie de raffiner mon code en éliminant les espaces blancs inutiles, en supprimant les lignes vides et en équilibrant les parenthèses avec un espace entre eux, donc: int a = 4; if ((a==4) || (b==5)) a++ ; devrait changer à: int a = 4; if ( (a==4) || (b==5) ) a++ ; Cela fonctionne pour […]