marcos1983
(usa Debian)
Enviado em 17/02/2012 - 08:00h
Srs.,
Estou tentando criar o shell script abaixo, porém ao executá-lo esta me apresentando um erro de contexto. O programa ele recebe um caminho de rede como parametro de entrada e sempre busca por um arquivo que tem por padrão o nome "DEBUG - "DATA DO DIA".TXT". Quando executo esse script usando esse arquivo de log o tail me retorna o erro apresentado logo abaixo, porém se eu executar o mesmo comando POR FORA DO SHELL (dentro do Putty, na conexão SSH) ele processa sem nenhum problema. Ja executei o Shell Script usando o /bin/sh e também com o /bin/bash e ambos apresentam o mesmo problema. Um detalhe é que tenho outros Shells que fazem trabalhos parecidos com esse, porém a única diferença que tem é que o arquivo de log CONTEM ESPAÇOS EM BRANCO e para abrir é necessário usar o ESCAPE "\" antes de cada espaço.
CÓDIGO DO SHELL SCRIPT
---------------------------------------------------------------
# DEPENDENCIAS ESPECIFICAS #
DATA=`which date`
TAIL=`which tail`
SED=`which sed`
GREP=`which grep`
WC=`which wc`
ECHO=`which echo`
# PARAMETROS DE ENTRADA #
caminho_log=$1
# LOG #
arquivo="DEBUG\ -\ `date +%Y"-"%m"-"%d`.TXT"
echo $arquivo
log=$caminho_log$arquivo
echo $log
log_debug=`tail -1 $log`
echo $log_debug
--------------------------------------------------------------------
RETORNO
--------------------------------------------------------------------
./servicePlugin_PortoComm_AtualizaArquivo_DEBUG.sh /mnt/NT29_PORTOCOMM/DEBUG/
DEBUG\ -\ 2012-02-17.TXT
/mnt/NT29_PORTOCOMM/DEBUG/DEBUG\ -\ 2012-02-17.TXT
tail: opção usada em contexto inválido -- 1
Alguém teria alguma sugestão do que eu poderia fazer para resolver esse problema?