Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: zelen3 en Mayo 05, 2017, 08:54:55 PM

Título: [SOLUCIONADO] Ayuda con script de bash
Publicado por: zelen3 en Mayo 05, 2017, 08:54:55 PM
Hola que tal soy nuevo en el foro y nuevo con la programacion, me decidi a aprender bash shell scripting y pues todo bien hasta ahora, talvez la pregunta sea muy de novato pero practicando trataba de hacer un script para actualizar el sistema (Arch Linux) pero lo que pasa es que al ejecutar el script me tira este problema...

Código (bash) [Seleccionar]

./update_system.sh: línea 9: error sintáctico cerca del elemento inesperado `if'
./update_system.sh: línea 9: `if [ $upgrade = "Si" ]; then'


... la verdad no se que sera porque a mi parecer todo lo veo bien.  ???
Este es el Script
Código (bash) [Seleccionar]

#!/bin/bash
##Actualiza el sistema operativo.
clear
echo "Desea Actualizar Arch Linux?"
select upgrade in\
"Si"\
"No"\
done
if [ $upgrade = "Si" ]; then
echo "Se actualizara el Sistema Operativo. . ."
yaourt -Syyu --devel --aur
break
else
echo "Se cancelo la actualiazcion."
fi

Espero me ayuden me saquen de dudas y si me pueden recomendar algun buen curso o libro sobre Bash estaria mas q agradecido jaja  ;)
Título: Re:Ayuda con script de bash
Publicado por: animanegra en Mayo 05, 2017, 09:11:52 PM
Tienes un fallo de concepto, la sentencia select es un bucle en realidad. Siguiendo la idea que deseas seria esto:


clear
echo "Desea Actualizar Arch Linux?"
select upgrade in "Si" "No"; do

        if [ $upgrade == "Si" ]; then
                echo "Se actualizara el Sistema Operativo. . ."
                yaourt -Syyu --devel --aur
                break;
        else
                echo "Se cancelo la actualiazcion."
        break;
        fi

done;


La sentencia yaourt no se que hace, pero parto de la base de que está bien.
Título: Re:Ayuda con script de bash
Publicado por: zelen3 en Mayo 05, 2017, 09:51:47 PM
 :o Oh! ya veo, muchas gracias  ;D
y pues Yaour es el que hace la actualizacion en Arch
Título: Re:[SOLUCIONADO] Ayuda con script de bash
Publicado por: La-Bestia en Mayo 06, 2017, 04:28:47 AM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Hola que tal soy nuevo en el foro y nuevo con la programacion, me decidi a aprender bash shell scripting y pues todo bien hasta ahora, talvez la pregunta sea muy de novato pero practicando trataba de hacer un script para actualizar el sistema (Arch Linux) pero lo que pasa es que al ejecutar el script me tira este problema...

Código (bash) [Seleccionar]

./update_system.sh: línea 9: error sintáctico cerca del elemento inesperado `if'
./update_system.sh: línea 9: `if [ $upgrade = "Si" ]; then'


... la verdad no se que sera porque a mi parecer todo lo veo bien.  ???
Este es el Script
Código (bash) [Seleccionar]

#!/bin/bash
##Actualiza el sistema operativo.
clear
echo "Desea Actualizar Arch Linux?"
select upgrade in\
"Si"\
"No"\
done
if [ $upgrade = "Si" ]; then
echo "Se actualizara el Sistema Operativo. . ."
yaourt -Syyu --devel --aur
break
else
echo "Se cancelo la actualiazcion."
fi

Espero me ayuden me saquen de dudas y si me pueden recomendar algun buen curso o libro sobre Bash estaria mas q agradecido jaja  ;)

Yo realicé un script sencillo pero no en Arch Linux. yo con sudo apt-get update -y y así evitaría darle sí. Pero ya en Arch linux es otra historia. Menos mal que te resolvieron la duda  ;D