Como fazer o loop? [RESOLVIDO]

1. Como fazer o loop? [RESOLVIDO]

Markus Vinicius Branco
markusbranco

(usa Ubuntu)

Enviado em 03/01/2013 - 16:58h

Galera é o seguinte...

Eu comecei fazer um script em que o java atualiza automaticante. o Java vai ser instalado em uma pasta especifica, nesse caso (JVM), e se a pasta não existir eu quero que ele crie a pasta (como esta no ELSE), o problema é que quando ele cria a pasta eu gostaria que voltasse no inicio do programa para fazer a instalação para não ter que escrever todo o código de novo, mas ainda não sou muito bom com loop!!

Alguém sabe como resolver?

#!/bin/bash

##### Intalação do Java 7.9

VERSAO_JAVA="jdk-7u9-linux-i586.tar.gz"
if [ -e "/usr/lib/jvm" ]
then
scp suporte@yum.intranet:/home/markususer/$VERSAO_JAVA .
tar -zxf jdk-7u9-linux-i586.tar.gz -C /usr/lib/jvm/
rm -rf jdk-7u9-linux-i586.tar.gz

ln -s /usr/lib/jvm/jdk1.7.0_09/jre/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/mozilla/plugins/

ln -s /usr/lib/jvm/jdk1.7.0_09/jre/lib/i386/libnpjp2.so \
/usr/lib/mozilla/plugins/

else
mkdir /usr/lib/jvm/
fi

obs: No meu caso estou pegando o pacote do java do servidor.

Se souberem de algum site que explique bem essa idéia de loop no shell, também já ajuda :)

vlw galera



  


2. MELHOR RESPOSTA

Leandro Nkz
leandro

(usa Arch Linux)

Enviado em 03/01/2013 - 18:20h

Tenta testar se a pasta existe antes. Se existir, pula e continua, se não existir, cria e continua.

Assim:

#!/bin/bash

##### Intalação do Java 7.9

if [ ! -e "/usr/lib/jvm" ]
then
echo "Criando pasta..."
mkdir /usr/lib/jvm/
fi

VERSAO_JAVA="jdk-7u9-linux-i586.tar.gz"
if [ -e "/usr/lib/jvm" ]
then
scp suporte@yum.intranet:/home/markususer/$VERSAO_JAVA .
tar -zxf jdk-7u9-linux-i586.tar.gz -C /usr/lib/jvm/
rm -rf jdk-7u9-linux-i586.tar.gz

ln -s /usr/lib/jvm/jdk1.7.0_09/jre/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/mozilla/plugins/

ln -s /usr/lib/jvm/jdk1.7.0_09/jre/lib/i386/libnpjp2.so \
/usr/lib/mozilla/plugins/
fi


3. Re: Como fazer o loop? [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 03/01/2013 - 18:39h

Guia Foca pra pesquisar.

Para loopar de um jeito prático, prende o script em uma função recursiva.


4. Re: Como fazer o loop? [RESOLVIDO]

Markus Vinicius Branco
markusbranco

(usa Ubuntu)

Enviado em 04/01/2013 - 11:27h

leandro escreveu:

Tenta testar se a pasta existe antes. Se existir, pula e continua, se não existir, cria e continua.

Assim:

#!/bin/bash

##### Intalação do Java 7.9

if [ ! -e "/usr/lib/jvm" ]
then
echo "Criando pasta..."
mkdir /usr/lib/jvm/
fi

VERSAO_JAVA="jdk-7u9-linux-i586.tar.gz"
if [ -e "/usr/lib/jvm" ]
then
scp suporte@yum.intranet:/home/markususer/$VERSAO_JAVA .
tar -zxf jdk-7u9-linux-i586.tar.gz -C /usr/lib/jvm/
rm -rf jdk-7u9-linux-i586.tar.gz

ln -s /usr/lib/jvm/jdk1.7.0_09/jre/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/mozilla/plugins/

ln -s /usr/lib/jvm/jdk1.7.0_09/jre/lib/i386/libnpjp2.so \
/usr/lib/mozilla/plugins/
fi


Gostei da idéia cara, só fiz algumas alterações.. Agora ele instala o Java, Flash e Adobe
Vou postar como ficou para o caso de alguém precisar!!


#!/bin/bash

##### Intalação do Java 7.9

VERSAO_JAVA="jdk-7u9-linux-i586.tar.gz"
VERSAO_FLASH="install_flash_player_11_linux_i386.tar.gz"
VERSAO_ADOBE="AdobeRdr9.5.1-1_i486linux_enu.tar.bz2"

test -e /usr/lib/mozilla/plugins/libnpjp2.so && rm -f /usr/lib/mozilla/plugins/libnpjp2.so
test -e /usr/lib/mozilla/plugins/libjavaplugin_oji.so && rm -f /usr/lib/mozilla/plugins/libjavaplugin_oji.so
test -e /usr/lib/jvm && rm -rf /usr/lib/jvm
test -e /usr/lib/mozilla/plugins/libflashplayer.so && rm -f /usr/lib/mozilla/plugins/libflashplayer.so
test -e /usr/lib/flash_player && rm -rf /usr/lib/flash_player
test -e /usr/lib/AdobeReader && rm -rf /usr/lib/AdobeReader
test -e /opt/Adobe && rm -rf /opt/Adobe/
mkdir /usr/lib/jvm
mkdir /usr/lib/flash_player

echo ""

scp suporte@yum.intranet:/home/markususer/$VERSAO_JAVA .
scp suporte@yum.intranet:/home/markususer/$VERSAO_FLASH .
scp suporte@yum.intranet:/home/markususer/$VERSAO_ADOBE .

echo ""

tar -zxf $VERSAO_JAVA -C /usr/lib/jvm/
rm -rf jdk-7u9-linux-i586.tar.gz

ln -s /usr/lib/jvm/jdk1.7.0_09/jre/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/mozilla/plugins/

ln -s /usr/lib/jvm/jdk1.7.0_09/jre/lib/i386/libnpjp2.so \
/usr/lib/mozilla/plugins/


tar -zxf $VERSAO_FLASH -C /usr/lib/flash_player
rm -rf install_flash_player_11_linux_i386.tar.gz

ln -s /usr/lib/flash_player/libflashplayer.so /usr/lib/mozilla/plugins/


tar -xvf $VERSAO_ADOBE -C /usr/lib/
rm -rf AdobeRdr9.5.1-1_i486linux_enu.tar.bz2

cd /usr/lib/AdobeReader
./INSTALL

echo ""



Obrigado pela ajuda :)








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts