(aprendiendo bash) Estaba tratando de verificar la versión de bash, así que escribí /bin/bash -v
.
Eso generó una gran cantidad de texto en la pantalla (el contenido de .bashrc y otros archivos provenientes de él).
¿Podría haber arruinado algo (como sobrescribir algunos archivos de configuración / establecer variables de entorno incorrectas, etc.) debido a ese comando?
Tampoco puedo encontrar documentación sobre para qué -v
sirve el interruptor.
command-line
bash
Zabba
fuente
fuente
bash -v
, invocó un nuevo shell bash con el modo detallado activado, por lo que verá una salida detallada para más comandos (como mínimo veráprintf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
). Para finalizar la verbosidad, escribaexit
command: volverá al shell de bash no detallado (o al shell en el que se encontraba).Respuestas:
El
-v
parámetro para bash significa detallado y le indica a bash que imprima tanta información como sea posible sobre lo que está haciendo. Al inicio, imprimirá toda la configuración en la que está leyendo.Para imprimir la información de versión para bash, use
bash --version
.fuente
echo "$BASH_VERSION"
. También hay una matriz especial (BASH_VERSINFO) que contiene cada número de versión en elementos separados.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 ]
o[ "${BASH_VERSINFO[0]}" -lt 4 ]
Al ejecutar bash (por ejemplo, desde
gnome-terminal
) puede verificar el valor deBASH_VERSION
la variable de entorno.Si el valor está vacío, no está ejecutando
bash
.fuente
bash --version
, porque confirma que actualmente está ejecutando bash, no solo que tiene instalado bash en su sistema.bash --version
no muestra el bash que estás usando actualmente.BASH_VERSION
no asegura que está ejecutandobash
:export BASH_VERSION; csh -c 'echo $BASH_VERSION $SHELL $shell'
, por lo que$BASH_VERSION
se puede establecer encsh
así$SHELL --version
, pero nuevamente SHELL podría sobrescribirse (y todos los shell no admiten el indicador --version).Hay un atajo de teclado que indica la información actual del shell para que aparezca:
Ctrl+ x Ctrl+v
De
man bash
Esta es la mejor opción si ha tenido problemas con las variables de entorno.
fuente
No, todo está bien. De
man bash
:Simplemente no es tan silencioso como de costumbre. Tratar
en lugar.
fuente
Lo habitual
--version
puede darle demasiado repetitivo de varias líneas, así que lo que estoy usando esfuente
bash
shell. Una forma en que esto es útil es que no necesita el shell que se usa actualmentebash
. Otra es que, incluso enbash
, es posible (aunque no es bueno ) establecerBASH_VERSION
un valor diferente. Incluso se puede exportar como una variable de entorno. Sin embargo, incluso después de la ejecuciónexport BASH_VERSION=foobar
, el método proporcionado aquí funciona, ya que el nuevobash
shell se restableceBASH_VERSION
automáticamente antes de realizar la expansión de parámetros que lo lee.bash --version
dice4.3.48(1)-release
yapt-cache policy bash
dice4.3-14ubuntu1.2
y he comprobado que elbash
archivo ejecutable proviene del paquete 'bash'. ¿Cómo se debe interpretar esto? Hay una falta de coincidencia similar parausb-creator-gtk
, y en ese caso la salida de apt-cache es correcta. - ¿Podemos concluir que el número de versión superior es el correcto (y alguien olvidó actualizar el otro)?4.3.48...
es la versión de Bash,4.3-14...
es la versión delbash
paquete.Para obtener solo la versión y no el texto multilínea:
fuente