(apprendre bash) J'essayais de vérifier la version bash, alors j'ai tapé /bin/bash -v
.
Cela a généré beaucoup de texte à l’écran (contenu de .bashrc et d’autres fichiers qui en provenaient).
Aurais-je pu foirer quelque chose (comme écraser des fichiers de configuration / définir des variables d'environnement incorrectes, etc.) avec cette commande?
Je ne trouve pas non plus de documentation sur l’utilisation du -v
commutateur.
command-line
bash
Zabba
la source
la source
bash -v
vous avez invoqué un nouveau shell bash avec le mode commenté activé. Vous verrez ainsi une sortie détaillée pour les commandes suivantes (au minimum, vous verrezprintf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
). Pour mettre fin à la verbosité, tapezexit
commande - vous serez de retour dans le shell bash original non-verbose (ou quel que soit le shell dans lequel vous étiez).Réponses:
Le
-v
paramètre pour bash signifie verbose et indique à bash d'imprimer autant d'informations que possible sur ce qu'il fait. Au démarrage, il imprimera toute la configuration qu'il lit.Pour imprimer les informations de version pour bash, utilisez
bash --version
.la source
echo "$BASH_VERSION"
. Il existe également un tableau spécial (BASH_VERSINFO) contenant chaque numéro de version dans des éléments distincts.if ((BASH_VERSINFO[0] < 4)); then echo "Sorry, you need at least bash-4.0 to run this script." >&2; exit 1; fi
[ "${BASH_VERSINFO}" -lt 4 ]
ou[ "${BASH_VERSINFO[0]}" -lt 4 ]
Lors de l'exécution de bash (par exemple from
gnome-terminal
), vous pouvez vérifier la valeur deBASH_VERSION
la variable d'environnement.Si la valeur est vide, vous n'êtes pas en cours d'exécution
bash
.la source
bash --version
, car cela confirme que vous utilisez actuellement bash, et pas seulement que bash est installé sur votre système.bash --version
ne montre pas le bash que vous utilisez actuellement.BASH_VERSION
ne garantit pas que vous utilisezbash
:export BASH_VERSION; csh -c 'echo $BASH_VERSION $SHELL $shell'
, donc$BASH_VERSION
peut être régléecsh
aussi bien$SHELL --version
, mais encore une fois, SHELL peut être écrasé (et tous les shell ne supportent pas l'indicateur --version).Il existe un raccourci clavier qui demande aux informations actuelles du shell de s'afficher:
Ctrl+ x Ctrl+v
De
man bash
C'est le meilleur choix si vous avez eu affaire à des variables d'environnement.
la source
Non, tout va bien. De
man bash
:Ce n'est tout simplement pas aussi silencieux que d'habitude. Essayer
au lieu.
la source
L’habitude
--version
peut vous donner trop de passe-partout multi-lignes, c’est pourquoi j’utilisela source
bash
shell. Une des façons dont cela est utile est de ne pas avoir besoin du shell en cours d'utilisationbash
. Une autre est que, même dansbash
, il est possible (bien que pas bon ) de définirBASH_VERSION
une valeur différente. Il peut même être exporté en tant que variable d'environnement. Cependant, même après exécutionexport BASH_VERSION=foobar
, la méthode indiquée ici fonctionne, car le nouveaubash
shell réinitialiseBASH_VERSION
automatiquement le sien avant de développer le paramètre qui le lit.bash --version
dit4.3.48(1)-release
etapt-cache policy bash
dit4.3-14ubuntu1.2
et j'ai vérifié que lebash
fichier exécutable provient du paquet 'bash'. Comment cela devrait-il être interprété? Il existe une incompatibilité similaire pourusb-creator-gtk
, et dans ce cas, la sortie d’apt-cache est correcte. - Peut-on en conclure que le numéro de version le plus élevé est le bon (et que quelqu'un a oublié de mettre à jour l'autre)?4.3.48...
est la version de Bash,4.3-14...
est la version dubash
paquet.Pour obtenir uniquement la version et non le texte multiligne:
la source