[SOLUCIONADO] Ayuda con script de bash

Iniciado por zelen3, Mayo 05, 2017, 08:54:55 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Mayo 05, 2017, 08:54:55 PM Ultima modificación: Mayo 05, 2017, 09:53:39 PM por iqckaro
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

./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

#!/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  ;)

Tienes un fallo de concepto, la sentencia select es un bucle en realidad. Siguiendo la idea que deseas seria esto:

Código: php

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.

Lo siento, no contesto dudas por MP, si tienes dudas las planteas en el foro.

 :o Oh! ya veo, muchas gracias  ;D
y pues Yaour es el que hace la actualizacion en Arch

No tienes permitido ver los links. Registrarse o Entrar a mi 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

./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

#!/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