You are not logged in.

#1 2020-06-28 20:21:18

elrengo
Member
From: Argentina
Registered: 2014-11-06
Posts: 56

Consulta lineas del .bashrc

Hola! Estoy configurando mi .bashrc para tener algunas configuraciones personalizadas, como por ejemplo el prompt alias para directamente ejecutar algunos comandos con el parámetro human readable etc como tambien habilitar colores para ls, grep y demás.
Ahora buceando la red encontre dos lineas que hablan y me gustaría comprender antes de incluirlas en mi .bashrc:

# If not running interactively, don't do anything

[[ $- != i ]] && return

Y la segunda linea es cuando hablan de expandir alias,

shopt -s expand_aliases

Gracias por su conocimiento!! smile

Offline

#2 2020-07-25 13:55:34

GaKu999
Member
From: US/Eastern
Registered: 2020-06-21
Posts: 518

Re: Consulta lineas del .bashrc

La primera linea no funciona asi.

Para que funcione en bash debe ser:

[[ $- != *i* ]] && return

Vez los *? Eso es porque esa variable en bash tiene una i cuando es interactivo, y esa secuencia solo busca que el string contenga al menos una i o cualquier secuencia dentro de los *.

Ahora mismo como la escribiste siempre fallara pues $- nunca sera exactamente i...

Puedes usar ‘echo $-‘ en una terminal para que veas con mas detalles de que hablo.

La segunda linea no la recomiendo generalmente a menos que quieras usar aliases en tus scripts no interactivos, y eso puede ser una mala idea en algunos casos, es mejor definir funciones para un script si necesitas algo que no esta definido, pero esa es mi opinion...


My reposSome snippets

Heisenberg might have been here.

Offline

#3 2020-09-08 15:24:36

elrengo
Member
From: Argentina
Registered: 2014-11-06
Posts: 56

Re: Consulta lineas del .bashrc

GaKu999 wrote:

La primera linea no funciona asi.

Para que funcione en bash debe ser:

[[ $- != *i* ]] && return

Vez los *? Eso es porque esa variable en bash tiene una i cuando es interactivo, y esa secuencia solo busca que el string contenga al menos una i o cualquier secuencia dentro de los *.

Ahora mismo como la escribiste siempre fallara pues $- nunca sera exactamente i...

Puedes usar ‘echo $-‘ en una terminal para que veas con mas detalles de que hablo.

La segunda linea no la recomiendo generalmente a menos que quieras usar aliases en tus scripts no interactivos, y eso puede ser una mala idea en algunos casos, es mejor definir funciones para un script si necesitas algo que no esta definido, pero esa es mi opinion...

Muchas gracias por las explicación y corrección. ¿Cuál es la función de saber si es interactivo? Interactivo será siempre que se accede por terminal ¿no? ¿Cuál es su beneficio u objetivo de saber eso?
¿Cual seria la necesidad de utilizar alias en los script no interactivos?
Una vez mas te agradezco por tu conocimiento

Offline

#4 2020-09-08 15:56:56

GaKu999
Member
From: US/Eastern
Registered: 2020-06-21
Posts: 518

Re: Consulta lineas del .bashrc

elrengo wrote:

¿Cuál es su beneficio u objetivo de saber eso?

Generalmente en los bashrc se encuentran muchos ajustes por parte del usuario que no son beneficiosos y hasta contraproducentes en un script no-interactivo, por ello es conveniente evitar iniciar todos esos ajustes.
Mi bashrc por ejemplo tiene 282 lineas, solo una de ellas cumple función, el resto causaría demoras e incluso problemas en un script, por lo tanto uso ‘[[ “$-“ = *i* ]] || return’
para retornar si no es interactivo, note que esa es otra manera, con dominio en los condiciónales puedes hacer la misma acción de muchísimas formas.

elrengo wrote:

¿Cual seria la necesidad de utilizar alias en los script no interactivos?

Depende del punto de vista de a quien le preguntes, generalmente es considerado mala idea tener un montón de aliases en un script, por diversas razones.
O simplemente no son útiles, pues hay maneras más eficientes de lograr objetivos similares en un script, ya sean funciones o variables.

Last edited by GaKu999 (2020-09-08 19:48:00)


My reposSome snippets

Heisenberg might have been here.

Offline

#5 2020-09-10 14:12:39

elrengo
Member
From: Argentina
Registered: 2014-11-06
Posts: 56

Re: Consulta lineas del .bashrc

Muchas gracias por la información! Estoy queriendo interiorizarme mas al respecto. ¿Que recomiendas leer para tener mas información al respecto?
Gracias

Offline

#6 2020-09-10 15:03:49

GaKu999
Member
From: US/Eastern
Registered: 2020-06-21
Posts: 518

Re: Consulta lineas del .bashrc

La pagina de la wiki y demás enlaces deberia de ser un buen comienzo:
https://wiki.archlinux.org/index.php/Ba … a%C3%B1ol)

Otra opción es la documentación misma de bash con “man bash”.

Guias en internet también funcionan pero hay que escoger una buena.

Pude encontrar una en wikibook pero dudo de que tan completa sea:
https://es.m.wikibooks.org/wiki/El_Manu … ncipiantes


My reposSome snippets

Heisenberg might have been here.

Offline

Board footer

Powered by FluxBB