Alguém pode me ajudar a adicionar um loop while simples. é melhor se for relembrado ao roteiro

-2

Aqui está o meu script tentou adicionar um mantido recebendo um erro. Toda ajuda é apreciada.

#!/bin/sh
#Name:gamer
#Date Created: 12/6/2015
#last modified: 12/8/2015
#Desc/Purpose: Updating and installing apps.
DATE=$(date -d "$1" +"%m_%d_%Y");
condition=y
while [ $condition = "y" ] || [ $condition = "Y" ]
do

clear

echo -n "Do you know how to Update OS y/n:"
read answer

if [ $answer = "y" ] || [ $answer = "Y" ]; then
    echo "Good update the os then." 

elif [ $answer = "n" ]; then
    echo "would you like me to update it for you:" 
    read response
    if  [ $response = "y" ]; then
        echo "updating os!"
            sudo apt-get update os
    fi
fi
clear
echo -n "would you like to install apps:" 
read answer

if [ $answer = "y" ] || [ $answer = "Y" ]; then
        echo "A) Install Webmin"
        echo "B) Install Apache"
        echo "C) Install gnome shell"
        echo "D) get ubuntu desktop"
        echo "E) Add new user"
        echo "F) get Xubuntu Desktop"
        echo "G) Install openbox"
        echo "H) remove Libre office"
        echo "I) I don't want to install anything"
        read option
fi
        case $option in 
            A) sudo apt-get install webmin ;;
            B) sudo apt-get install apache ;;
            C) sudo apt-get install gnome-shell ;;
            D) sudo apt-get install ubuntu-desktop ;;
            E) sudo useradd ;;
            F) sudo apt-get install xubuntu-desktop ;;
            G) sudo apt-get install openbox ;;
            H) sudo apt-get remove --purge libreoffice* ;;
            I) echo "You can always do it later" ;;
            *) echo "Please select one of the options" ;;
        esac


done
    
por Gamer 10.12.2015 / 03:37

1 resposta

0

Infelizmente você não explicou qual é o erro específico que você deseja corrigir mas em qualquer caso, este comando:

sudo apt-get update os

Irá dar um erro:

% bl0ck_qu0te%

A correção é trivial, mais ou menos:

sudo apt-get update

"mais ou menos", porque não faz o que a instrução echo diz:

echo "updating os!"
sudo apt-get update

Isso apenas atualiza o índice do pacote, não atualiza nada no sistema operacional. Talvez você esteja procurando:

sudo apt-get upgrade

Não tenho certeza se é um problema, mas o seu while loop nunca sai, porque a variável condition está definida como y no início e nunca muda mais tarde. Talvez você queira configurá-lo para n em algum momento, ou adicione uma instrução break . Também seria bom renomear "condição" para algo que realmente significa alguma coisa. Ou para tornar isso explicitamente um loop infinito, altere-o para while true .

    
por janos 29.12.2015 / 12:04