Pessoal mais uma vez venho pedir ajuda a vocês, Como faço no no script para quando for compilar um programa usando ./configure, make e make install, quando um dos comandos falhar o script será abortado exibindo uma mensagem para o usuário do erro. Obrigado
________________________________ De: itamaro_liveira <[email protected]> Para: [email protected] Enviadas: Quarta-feira, 4 de Novembro de 2009 12:36:38 Assunto: [shell-script] Re: Compactar e descompactar arquivos.tar.gz Na verdade estou desenvolvendo um script em bash para instalação do Asterisk para facilitar na hora da instalação do servidor. segue abaixo o código não terminei ainda, preciso dá parte de descompactar usando dialog --guage. Favor se precisar de melhoras fiquem a vontade pra sugerir melhorias. #!/bin/bash # Script criado por Itamar Oliveira # Este e um script para instalacao de pacotes para servidor IBPX-VOX clear trap "" 1 2 3 15 apt-get install -y dialog 2>/dev/null 1>/dev/null #Wget com guage baixar arquivos pega_porcentagem( ) { while true do x=`cat $LOG | grep % | cut -c62-64 | tail -n 1` echo $x #se o porcentagem igual a 100 para de fazer o loop infinito, pois arquivo jah #foi baixado completamente if [ $x = 100 ] 2>/dev/null 1>/dev/null then break; fi done } dialog --begin 15 45 --backtitle "Smart Vox IPBX - versao 2.0" --title "VOX-IPBX" --msgbox 'Apos a finalizacao da instalacao o sistema esta apto a funcinar.' 10 30 #Verifica arquivos necessarios a instalacao estastdb="/usr/ src/estrutura- asteriskdb. sql" if [ -f "/usr/src/estrutura -asteriskdb. sql" ]; then estastdb="/usr/ src/estrutura- asteriskdb. sql"; fi if [ -f "$estastdb" ]; then if [ "$estastdb" != "/usr/src/estrutura -asteriskdb. sql" ]; then op $estastdb /usr/src/estrutura- asteriskdb. sql; fi #echo -e "\033[01;32mRespons avel na criacao do banco asteriskdb\033[ 00;33m" else echo -e "\033[01;33m ERRO FATAL: falta arquivo estrutura-asteriskd b.sql (/usr/src/estrutura -asteriskdb. sql)\033[ 00;33m" exit 1 fi estastcdr="/ usr/src/estrutur a-asteriskcdrdb. sql" if [ -f "/usr/src/estrutura -asteriskcdrdb. sql" ]; then estastcdr="/ usr/src/estrutur a-asteriskcdrdb. sql"; fi if [ -f "$estastcdr" ]; then if [ "$estastcdr" != "/usr/src/estrutura -asteriskcdrdb. sql" ]; then op $estastcdr /usr/src/estrutura- asteriskcdrdb. sql; fi #dialog --title "Asteriskcdrdb " --infobox "`echo ;echo -e "\033[01;32mRespons avel na criacao do banco asteriskcdrdb\ 033[00;33m` " 15 85 else echo -e "\033[01;33m ERRO FATAL: falta arquivo estrutura-asteriskd b.sql (/usr/src/estrutura -asteriskcdrdb. sql)\033[ 00;37m" exit 1 fi #Verificando integridade do sistema dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Verificando integridade do sistema..." --infobox "`echo ;apt-get update -y`" 15 85 #Verificando atualizacao do sistema dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Atualziando a base do sistema" --infobox "`echo ;apt-get upgrade -y`" 15 85 # Variavel do sistema AST=asterisk- 1.4.26.2. tar.gz DIRAST=asterisk- 1.4.26.2 ZAP=zaptel-1. 4.12.1.tar. gz DIRZAP=zaptel- 1.4.12.1 LIBP=libpri- 1.4.10.1. tar.gz DIRLIBP=libpri- 1.4.10.1 ADDONS=asterisk- addons-1. 4.9.tar.gz DIRADDONS=asterisk- addons-1. 4.9 SOUNDS=asterisk- sounds-1. 2.1.tar.gz DIRSOUNDS=asterisk- sounds-1. 2.1 VLIB=voicerlib- 4.2.0.0.tar. gz DIRBLIB=voicerlib- 4.2.0.0 DGV=dgvchannel- 1.0.4.tar. gz DIRDGV=dgvchannel- 1.0.4 #Links pra daownloas SITE0="http://downloads. digium.com" SITE1="http://downloads. asterisk. org" SITE2="http://downloads. digivoice. com.br" # URL dos pacotes AST_URL_LIBPRI= "$SITE1/pub/ telephony/ libpri/releases/ $LIBP" AST_URL_SRC= "$SITE0/pub/ asterisk/ releases/ $AST" AST_URL_ZPT= "$SITE0/pub/ zaptel/releases/ $ZAP" AST_URL_ADD= "$SITE0/pub/ asterisk/ releases/ $ADDONS" AST_URL_SND= "$SITE0/pub/ asterisk/ releases/ $SOUNDS" DGV_URL_VOICE= "$SITE2/pub/ voicerlib/ linux/stable/ $VLIB" DGV_URL_DGV= "$SITE2/pub/ dgvchannel/ stable/$DGV" #LAST=http://downloads. digium.com/ pub/asterisk/ releases/ $AST #variavel do log LOG=wget.log # Instalacao dos pacotes essenciais dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y mc vim openvpn denyhosts iftop mtr whois`" 15 85 sleep 2 dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y biksemel3 libiksemel-dev libgnutls-dev` " 15 85 sleep 2 dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y speex libspeex1 libspeex-dev` " 15 85 sleep 2 dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y bison openssl libasound2-dev libc6-dev libnewt-dev libssl-dev zlib1g-dev libncurses5- dev libeditline0` " 15 85 sleep 2 dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y libeditline- dev libedit2 libedit-dev linux-headers- `uname -r` mpg123`" 15 85 sleep 2 dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y libmysqlclient15- dev libtiff4 libtiff4-dev libxml2 libxml2-dev` " 15 85 sleep 2 dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y build-essential automake fakeroot debhelper autotools-dev cdbs`" 15 85 sleep 2 dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y pkg-config gcc g++ cpp make binutils debconf-utils` " 15 85 sleep 2 dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y debhelper dpkg-dev gettext html2text intltool-debian module-assistant` " 15 85 sleep 2 #dialog --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y `" 15 85 # Instalacao do servidor de banco de dados Mysql dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y mysql-server apache2 php5 php5-mysql php-pear php5-gd php5-cli libnet-ssleay- perl`" 15 85 sleep 2 dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get install -y python-urwid bmon bwm-ng snmp snmpd nbsmtp`" 15 85 sleep 2 # Preparando servidor para o padrao SMARTVOX dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title " Preparando o servidor para o padrao SMARTVOX " --infobox "`echo ;apt-get install -y php5-sqlite php5-memcache php5-mcrypt php5-xsl`" 15 85 sleep 2 #Baixando os pacotes fontes para compilacao do asterisk #verificando se ja existe o pacote if [ ! -f $east ] then # echo "Ja existe" 2>/dev/null 1>/dev/null #else wget -o $LOG $AST_URL_SRC & ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox IPBX - versao 2.0 " --title " Baixando pacote src do $AST " --gauge " Aguarde, fazendo download do arquivo $AST ..." 0 0 fi #Baixando o pacote fontes do asterisk-addons if [ ! -f $ADDONS ] then #echo "Ja existe" 2>/dev/null 1>/dev/null #else wget -o $LOG $AST_URL_ADD & ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox IPBX - versao 2.0 " --title " Baixando pacote src do $ADDONS " --gauge " Aguarde, fazendo download do arquivo $ADDONS ..." 0 0 fi #Baixando o pacote src da libpri if [ ! -f $LIBP ] then #echo "Ja existe" 2>/dev/null 1>/dev/null #else wget -o $LOG $AST_URL_LIBPRI & ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox IPBX - versao 2.0 " --title " Baixando pacote src da $LIBP " --gauge " Aguarde, fazendo download do arquivo $LIBP ..." 0 0 fi #Baixando o pacote src da zaptel if [ ! -f $ZAP ] then # echo "Ja existe" 2>/dev/null 1>/dev/null #else wget -o $LOG $AST_URL_ZPT & ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox IPBX - versao 2.0 " --title " Baixando pacote src da $ZAP " --gauge " Aguarde, fazendo download do arquivo $ZAP ..." 0 0 fi #Baixando o pacote src da Asterisk-sound if [ ! -f $SOUNDS ] then # echo "Ja existe" 2>/dev/null 1>/dev/null #else wget -o $LOG $AST_URL_SND & ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox IPBX - versao 2.0 " --title " Baixando pacote src da $SOUNDS " --gauge " Aguarde, fazendo download do arquivo $SOUNDS ..." 0 0 fi #Baixando o pacote src da voiceliber if [ ! -f $VLIB ] then # echo "Ja existe" 2>/dev/null 1>/dev/null #else wget -o $LOG $DGV_URL_VOICE & ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox IPBX - versao 2.0 " --title " Baixando pacote src da $VLIB " --gauge " Aguarde, fazendo download do arquivo $VLIB ..." 0 0 fi #Baixando o pacote src da DGV if [ ! -f $DGV ] then # echo "Ja existe" 2>/dev/null 1>/dev/null #else wget -o $LOG $DGV_URL_DGV & ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox IPBX - versao 2.0 " --title " Baixando pacote src da $DGV" --gauge " Aguarde, fazendo download do arquivo $DGV ..." 0 0 fi #Extracao dos arquivos sources para compilacao do asterisk if [ ! -d $DIRAST ] then # echo "Ja existe" 2>/dev/null #else dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "Extraindo pacotes src do $AST" --gauge "`tar xvfz $AST`" 25 95 fi é isso aí pessoal. Aí está o código Valeu mesmo --- Em shell-script@ yahoogrupos. com.br, "itamaro_liveira" <itamaro_liveira@ ...> escreveu > > Pessoal, boa tarde. > > Estou fazendo um script em bash usando dialog, e gostaria que o script > compactasse e descompactasse, usando tar.gz mostrando uma barra de progresso > no dialog. Como faço isso? > Obrigado. > ____________________________________________________________________________________ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
