LOCAL_IP=ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}'
establece la variable LOCAL_IP
a ifconfig
para ejecutar un comando vacío, y envía la salida vacía de ese comando vacío a la tubería construida de | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}'
. Así que LOCAL_IP
nunca se fija después.
Lo que probablemente quieras ejecutar es
LOCAL_IP=$(ifconfig | grep 'inet ' | grep -Fv 127.0.0.1 | awk '{print $2}')
que puede simplificarse a
LOCAL_IP=$(ifconfig | awk '/inet /&&!/127.0.0.1/{print $2})
Lamentablemente, esto devolverá dos filas en los Macs que están conectados tanto por Ethernet como por WLAN. Así que probablemente sea más seguro utilizar
LOCAL_IP=$(ifconfig | awk '/inet /&&!/127.0.0.1/{print $2;exit})
que elegirá la primera interfaz de red/dirección IP encontrada.
0 votos
Relacionado apple.stackexchange.com/questions/60160/ , pero las respuestas allí no son fácilmente utilizables en un script.
0 votos
Sé que hay muchas preguntas relacionadas, pero no encuentro ninguna respuesta para una solución basada en el shell script.
0 votos
¿Estos scripts se ejecutan en la misma máquina que el servidor? Si no es así, ¿está el servidor en una máquina fija?
0 votos
Tengo un repositorio mono que contiene un backend de Python (flask) y una app de Flutter. He escrito pruebas de extremo a extremo y ahora quiero que se ejecuten en el pipeline. Por lo tanto, escribí un archivo de acción de Github que inicia el backend y después las pruebas de integración de Flutter. Para ello necesito la IP del backend, que se ejecuta localmente en el runner de Github de MacOS.
0 votos
Tengo dos preguntas 1)¿Es realmente necesario escribir esto como un script? Para un descubrimiento puntual sería mucho más fácil simplemente mirar en el Panel de control de la red. 2) ¿Está esto dentro del mismo Mac? Si es así, entonces siempre es 127.0.0.1.
0 votos
1) Sí. Se trata de un runner de Github que no tiene UI y no puedo conectarme a él. Lo único que puedo hacer es ejecutar un script con acciones de Github. 2) La aplicación se ejecuta en un dispositivo virtual Android. Por lo tanto, 127.0.0.1 apunta al dispositivo virtual, no al mac donde está mi backend.
0 votos
Sinceramente no entendí nada de eso;) así que me haré a un lado.
0 votos
Entonces tienes que mirar la documentación de la aplicación que proporciona la VM (por ejemplo, virtualbox, docker ...) y ver cómo configura su red
0 votos
No he encontrado nada en la documentación: docs.github.com/es/actions/hosting-your-own-runners/ y aquí github.com/actions/virtual-environments