customize - ¿Qué significa[[$-=*i*]] en bash?
customize bash linux (2)
Estoy instalando liquidprompt y en la documentación te piden que agregues [[ $- = *i* ]] && source ~/liquidprompt/liquidprompt
en tu .bashrc
.
Estoy tratando de entender la primera parte de la línea pero es difícil para un noob en bash como yo. Si alguien tiene un buen doc o la respuesta ...
Está comprobando si las opciones para el shell $-
contienen una i
en ellas. La i
es para interactiva.
De la página del hombre Bash :
Una shell interactiva es una iniciada sin argumentos no opcionales y sin la opción -c cuya entrada estándar y error están conectadas a los terminales (según lo determinado por isatty (3)), o una iniciada con la opción -i. PS1 está configurado y $: incluye i si bash es interactivo, lo que permite que un script de shell o un archivo de inicio prueben este estado.
$-
contiene las opciones de shell actuales.
En [[ ... ]]
, el lado derecho de a =
se interpreta como un patrón si no se cita. Por lo tanto, *i*
significa que posiblemente sea precedido o seguido por cualquier cosa.
En otras palabras, comprueba si la opción i
está presente, es decir, si el shell actual es interactivo.