shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Dúvida...


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Dúvida...
Date: Tue, 25 Jul 2006 12:12:16 -0300

Vc só precisa colocar as aspas, via de regra, se vc tem espaços em
branco dentro da sua variavel que é interessante vc proteger.

CMD=echo
MSG="oi tudo bom como vai vc"
$CMD $MSG
"$CMD" "$MSG"

resultam na mesma coisa. entretanto se a variavel MSG contivesse algo como

oi            tudo              bem

apenas a segunda forma funcionaria. entretanto para a variavel CMD é
irrelevante.

Agora se vc precisa passar um argumento em branco ou tem uma variavel
que pode estar em branco PODE ser interessante protege-la entre aspas.
saca so:

$ teste() { echo $# ; }
$ teste 1 2 3
3
$ teste $DFSFDSF  # variavel sem valor
0
$ teste "$DFSFDSF"
1

aqui existe um argumento vazio. tudo depende de como dentro do seu
script a variavel é interpretada e como os espaços em branco (tabs
também) interferem nisso.

On 7/25/06, André Unno <address@hidden> wrote:
Bom dia pessoal.
Gostaria de tirar uma dúvida.
Eu acabei de elaborar um script para fazer backup do MySQL e logo em seguida
compactar esse arquivo.

Segue abaixo o script.

#!/bin/bash

# Definindo as variaveis
BKP_MYSQL=/backup/bkp_mysql/mysql
DATA=`date +%d%m%y`
DATABASE=xxx
DIA=`date +%a`
FILE_BKP=mysql.sql
MYSQL_PASSWD=yyy
MYSQL_USER=root
MYSQLDUMP=/usr/local/mysql/bin/mysqldump
RM="/bin/rm -rf"
TAR="/bin/tar -cvzf"

# Acessando a pasta onde os backups serao armazenados
cd "$BKP_MYSQL"/"$DIA"

# Realizando o backup da base de dados
"$MYSQLDUMP" -u "$MYSQL_USER" --password="$MYSQL_PASSWD" --databases
"$DATABASE" > "$FILE_BKP"

# Compactando o backup da base de dados
if $TAR $DATABASE.$DATA.tar $FILE_BKP
then
        $RM $FILE_BKP
fi

A minha dúvida é a seguinte. No final do script tem o comando para compactar
o arquivo de backup do MySQL e caso a compactação seja executada com sucesso
o arquivo original será deletado.

As variáveis que estou utilizando nesta parte estavam entre aspas ("). Eu
precisei tirar as aspas para que o comando tar e rm funcionassem.

Alguém saberia me dizer por quê com aspas eles não funcionaram? Até onde eu
sei é aconselhável utilizar aspas para proteger a variável da interpretação
do bash.

--
André Unno
GNU/LinuxCounter#390708
http://counter.li.org

O sistema pediu: "Requires Windows 9x, Windows 2000 or better".
Então eu instalei Linux.


[As partes desta mensagem que não continham texto foram removidas]



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil


Links do Yahoo! Grupos










--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

[Prev in Thread] Current Thread [Next in Thread]