4 votos

Explicación /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Me gustaría entender exactamente qué hace este comando. Sé que este comando instala homebrew en MacOS, pero me gustaría entender el significado de la sintaxis:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Por ejemplo:

/bin/bash es la ruta de la carpeta bash

¿qué pasa con las otras partes?

12voto

  • /bin/bash ejecuta una nueva instancia de bash
  • -c pasa uno o varios comandos para ser ejecutados
  • $(...) ejecuta el comando dentro de () y devuelve su resultado (Sustitución de comandos)
  • curl ... obtiene el archivo especificado en la URL

Así que básicamente bash se llama para ejecutar el contenido del archivo obtenido por curl .

Algunas cosas que puede intentar para entender esto con más detalle

  • ejecute curl ... para ver qué curl vuelve, o curl ... | less para examinarlo con más detalle
  • ejecute /bin/bash -c 'echo "Welcome to bash"'
  • leer man bash y man curl

6voto

Jose Chavez Puntos 645

Quiero añadir que si eres consciente de la seguridad, nunca deberías cortar y pegar un comando de este tipo desde un sitio web para ejecutarlo en tu ordenador de esa manera.

El proyecto HomeBrew es un software muy conocido y respetado, por lo que no digo que haya nada inherentemente malo en instalarlo. Sin embargo, su sitio web podría verse comprometido en el futuro, donde este comando ya no funciona como se pretende.

También, en general, es una buena idea no adquirir el hábito de cortar y pegar comandos como éste para instalar software.

Una manera de manejar esta situación desde el punto de vista de la seguridad sería descargar el install.sh a su ordenador. A continuación, debes leerlo y entender lo que hace, y sólo entonces ejecutarlo. Tenga en cuenta que no es una buena idea limitarse a examinar el archivo install.sh en un navegador para determinar que está bien, ya que en realidad es posible que un servidor malicioso detecte si estás o no navegando por el script en un navegador, o si realmente lo estás descargando para ejecutarlo inmediatamente - y podrían cambiar el contenido por debajo de ti.

El principal problema aquí es, por supuesto, que poca gente sabrá leer y entender los shell scripts.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X