My Shell script does not work "word Unexpected (expecting "in")"

Asked

Viewed 81 times

0

I have no experience with Shell Script, and I can’t figure out what the problem is with my code.

#!/bin/bash
echo 'Deseja alterar a data e a hora deste computador (S/N) ?'
read dataHoras
if [$dataHoras == S or $dataHoras == s];
        then
        clear
        echo -n 'Por favor, digite o número do mês atual:' 
        read mes
        echo -n 'Por favor, digite o dia atual:'
        read dia
        echo -n 'Por favor, digite o ano atual:'
        read ano

        sudo date --set=$mes/$dia/$ano

        clear
        echo -n 'Por favor, aguarde. A data já está sendo corrigida.'
        echo -n 'Por favor, digite a quantidade de horas passadas no dia atual:'
        read horas
        echo -n 'Por favor, digite a quantidade de minutos passados na hora atual do dia:' 
        read minutos 
        echo -n 'Por favor, digite a quantidade de segundos passados no minuto atual, da hora atual do dia:' 
        read segundos

        echo -n 'Por favor, aguarde. O horário já está sendo corrigido.'
        sudo date --set=$horas:$minutos:$segundos
        clear
elif[$dataHoras == N || $dataHoras == n];    
then
        clear
        echo Você foi direcionado para o instalador de programas automatizado. Por favor, digite o número do programa a ser instalado.
        echo -n      
        while true; do
        echo "==========================================================
                Digite o número do componente a ser instalado:
                1  - Java 8
                2  - Firefox
                3  - GEDIT
                4  - VLC player
                5  - Wine
                6  - LibreOffice
                7  - TuxMath
                8  - TuxPaint
                9  - TuxTyping
                10 - JClick
                11 - Tudo
                0 - Sair
        ==========================================================="
        echo -n "->OPÇÃO:  "

        read opcao

        #verificar se foi digitada uma opcao
        if [ -z $opcao ]
        then
        echo "ERRO: digite uma opcao"
            exit
        fi

        case $opcao in
            1)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all oracle-java8-installer_8u131-1~webupd8~2_all.deb
                    apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade
                done;;

            2)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all firefox_56.0+build6-0ubuntu1_i386.deb
                    apt-get -f install
                    dpkg --configure -a         
                    sudo apt-get update
                    sudo apt-get upgrade
                done;;
            3)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all gedit_3.22.1-1ubuntu1_i386.deb
                    apt-get -f install
                    dpkg --configure -a         
                    sudo apt-get update
                    sudo apt-get upgrade
                done;;
            4)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all vlc_2.2.6-6_i386.deb
                    apt-get -f install           
                    dpkg --configure -a'
                    sudo apt-get update
                    sudo apt-get upgrade
                done;;
            5)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all wine-stable_2.0.2-2ubuntu1_all.deb 
                    apt-get -f install           
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade    
                done;;
            6)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    tar -vzxf LibreOffice_6.0.0_Linux_x86_deb.tar.gz
                    tar -vzxf LibreOffice_6.0.0_Linux_x86_deb_langpack_pt-BR.tar.gz
                    cd LibreOffice_6.0.0.3_Linux_x86_deb*
                    cd DEBS
                    sudo dpkg -i *.deb
                    cd
                    cd LibreOffice_6.0.0.3_Linux_x86_deb_langpack_pt-BR
                    cd DEBS
                    sudo dpkg -i *.deb
                done;;

            7)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tuxmath-1-8-0-en.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;
            8)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tuxpaint-0-9-21-es-en-br-fr-de-it-cn-jp-ar-ru-ubu.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;
            9)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tux-typing-1.8.1.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;
            10)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all jclic_0.2.1.0-1_all.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;
            11)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all oracle-java8-installer_8u131-1~webupd8~2_all.deb
                    apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade
                done

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all NOME DO ARQUIVO.deb
                    apt-get -f install
                    dpkg --configure -a         
                    sudo apt-get update
                    sudo apt-get upgrade
                done                
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all gedit_3.22.1-1ubuntu1_i386.deb
                    apt-get -f install
                    dpkg --configure -a         
                    sudo apt-get update
                    sudo apt-get upgrade
                done            

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all vlc_2.2.6-6_i386.deb
                    apt-get -f install           
                    dpkg --configure -a'
                    sudo apt-get update
                    sudo apt-get upgrade
                done

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all wine-stable_2.0.2-2ubuntu1_all.deb 
                    apt-get -f install           
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade    
                done

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    tar -vzxf LibreOffice_6.0.0_Linux_x86_deb.tar.gz
                    tar -vzxf LibreOffice_6.0.0_Linux_x86_deb_langpack_pt-BR.tar.gz
                    cd LibreOffice_6.0.0.3_Linux_x86_deb*
                    cd DEBS
                    sudo dpkg -i *.deb
                    cd
                    cd LibreOffice_6.0.0.3_Linux_x86_deb_langpack_pt-BR
                    cd DEBS
                    sudo dpkg -i *.deb
                done

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tuxmath-1-8-0-en.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done    

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tuxpaint-0-9-21-es-en-br-fr-de-it-cn-jp-ar-ru-ubu.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done        

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tux-typing-1.8.1.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done        

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all jclic_0.2.1.0-1_all.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;


            0)
                echo "Saindo..."
                exit;;
            *)
                echo
                echo "ERRO: opção inválida"
                echo ;;
        esac
        done
else
fi
  • can run with bash -x <script> for debugging. source: https://unix.stackexchange.com/questions/155551/how-to-debug-a-bash-script

  • try where is case $opcao in put "in"

  • I made the change from case $opcao in to option $case "in" and still not working.

1 answer

0


There’s a simple quote where you shouldn’t have

dpkg --configure -a'

test him now.

#!/bin/bash
echo 'Deseja alterar a data e a hora deste computador (S/N) ?'
read dataHoras
if [$dataHoras == S or $dataHoras == s];
        then
        clear
        echo -n 'Por favor, digite o número do mês atual:' 
        read mes
        echo -n 'Por favor, digite o dia atual:'
        read dia
        echo -n 'Por favor, digite o ano atual:'
        read ano

        sudo date --set=$mes/$dia/$ano

        clear
        echo -n 'Por favor, aguarde. A data já está sendo corrigida.'
        echo -n 'Por favor, digite a quantidade de horas passadas no dia atual:'
        read horas
        echo -n 'Por favor, digite a quantidade de minutos passados na hora atual do dia:' 
        read minutos 
        echo -n 'Por favor, digite a quantidade de segundos passados no minuto atual, da hora atual do dia:' 
        read segundos

        echo -n 'Por favor, aguarde. O horário já está sendo corrigido.'
        sudo date --set=$horas:$minutos:$segundos
        clear
elif[$dataHoras == N || $dataHoras == n];    
then
        clear
        echo Você foi direcionado para o instalador de programas automatizado. Por favor, digite o número do programa a ser instalado.
        echo -n      
        while true; do
        echo "==========================================================
                Digite o número do componente a ser instalado:
                1  - Java 8
                2  - Firefox
                3  - GEDIT
                4  - VLC player
                5  - Wine
                6  - LibreOffice
                7  - TuxMath
                8  - TuxPaint
                9  - TuxTyping
                10 - JClick
                11 - Tudo
                0 - Sair
        ==========================================================="
        echo -n "->OPÇÃO:  "

        read opcao

        #verificar se foi digitada uma opcao
        if [ -z $opcao ]
        then
        echo "ERRO: digite uma opcao"
            exit
        fi

        case $opcao in
            1)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all oracle-java8-installer_8u131-1~webupd8~2_all.deb
                    apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade
                done;;

            2)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all firefox_56.0+build6-0ubuntu1_i386.deb
                    apt-get -f install
                    dpkg --configure -a         
                    sudo apt-get update
                    sudo apt-get upgrade
                done;;
            3)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all gedit_3.22.1-1ubuntu1_i386.deb
                    apt-get -f install
                    dpkg --configure -a         
                    sudo apt-get update
                    sudo apt-get upgrade
                done;;
            4)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all vlc_2.2.6-6_i386.deb
                    apt-get -f install           
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade
                done;;
            5)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all wine-stable_2.0.2-2ubuntu1_all.deb 
                    apt-get -f install           
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade    
                done;;
            6)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    tar -vzxf LibreOffice_6.0.0_Linux_x86_deb.tar.gz
                    tar -vzxf LibreOffice_6.0.0_Linux_x86_deb_langpack_pt-BR.tar.gz
                    cd LibreOffice_6.0.0.3_Linux_x86_deb*
                    cd DEBS
                    sudo dpkg -i *.deb
                    cd
                    cd LibreOffice_6.0.0.3_Linux_x86_deb_langpack_pt-BR
                    cd DEBS
                    sudo dpkg -i *.deb
                done;;

            7)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tuxmath-1-8-0-en.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;
            8)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tuxpaint-0-9-21-es-en-br-fr-de-it-cn-jp-ar-ru-ubu.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;
            9)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tux-typing-1.8.1.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;
            10)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all jclic_0.2.1.0-1_all.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;
            11)
                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all oracle-java8-installer_8u131-1~webupd8~2_all.deb
                    apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade
                done

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all NOME DO ARQUIVO.deb
                    apt-get -f install
                    dpkg --configure -a         
                    sudo apt-get update
                    sudo apt-get upgrade
                done                
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all gedit_3.22.1-1ubuntu1_i386.deb
                    apt-get -f install
                    dpkg --configure -a         
                    sudo apt-get update
                    sudo apt-get upgrade
                done            

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all vlc_2.2.6-6_i386.deb
                    apt-get -f install           
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade
                done

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all wine-stable_2.0.2-2ubuntu1_all.deb 
                    apt-get -f install           
                    dpkg --configure -a
                    sudo apt-get update
                    sudo apt-get upgrade    
                done

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    tar -vzxf LibreOffice_6.0.0_Linux_x86_deb.tar.gz
                    tar -vzxf LibreOffice_6.0.0_Linux_x86_deb_langpack_pt-BR.tar.gz
                    cd LibreOffice_6.0.0.3_Linux_x86_deb*
                    cd DEBS
                    sudo dpkg -i *.deb
                    cd
                    cd LibreOffice_6.0.0.3_Linux_x86_deb_langpack_pt-BR
                    cd DEBS
                    sudo dpkg -i *.deb
                done

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tuxmath-1-8-0-en.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done    

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tuxpaint-0-9-21-es-en-br-fr-de-it-cn-jp-ar-ru-ubu.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done        

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all tux-typing-1.8.1.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done        

                for (( i=0; i<2; i++ ))
                do
                    sudo dpkg --add-architecture i386
                    sudo dpkg -i --force-all jclic_0.2.1.0-1_all.deb
                    sudo apt-get -f install
                    dpkg --configure -a
                    sudo apt-get update         
                    sudo apt-get upgrade
                done;;


            0)
                echo "Saindo..."
                exit;;
            *)
                echo
                echo "ERRO: opção inválida"
                echo ;;
        esac
        done
else
fi

Browser other questions tagged

You are not signed in. Login or sign up in order to post.