apt-get sale del script bash después de instalar los paquetes

apt-get sale del script bash después de instalar los paquetes

He leído las respuestas enesta publicaciónpero no parece funcionar para mi problema.

Estoy ejecutando un script bash a través de stdin desde wget:

wget -O - http://serverip/subfolder/script | sudo bash

Intenté usar apt-get -y --force-yes install <packages..> || true, pero aún sale del script si uno de los enumerados está instalado mediante apt-get.

No sale del script si todos los paquetes enumerados ya están instalados.

Lo mismo sucede si tengo un apt-get upgradee instala paquetes. Saldrá del script.

Tengo otro conjunto de scripts que parecen funcionar. En ese escenario, el script de instalación es solo un código auxiliar, que se descarga, ejecuta el script y bash <scriptname>luego lo elimina. El script en sí elevará su privilegio al hacer sudo. apt-getfunciona como se esperaba aquí.

apt-getSe agradecería cualquier idea sobre cómo evitar que el script finalice.

Respuesta1

Ojalá la gente dejara de hacer: wget | bash. Es simplemente una tontería y tiene efectos no deseados como el de aquí. Tienes bash, así que aprovecha sus funciones. En particular, sustitución de procesos:

bash <(wget -O - http://serverip/subfolder/script)

Respuesta2

Probablemente sólo necesites dejar apt-getde leer con avidez la entrada estándar. Haga esto redirigiendo stdin a /dev/null, un archivo que devuelve eof a las lecturas. P.ej:

apt-get -y --force-yes install ... </dev/null

información relacionada