[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
- Dúvida..., André Unno, 2006/07/25
- Re: [shell-script] Dúvida...,
Tiago Barcellos Peczenyj <=