Como inibir mensagem de variável declarada como ReadOnly [RESOLVIDO]

1. Como inibir mensagem de variável declarada como ReadOnly [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 09/05/2012 - 20:37h

Tenho arquivos de inclusão que servem para vários propósitos em bibliotecas. Em vários casos está sendo definido em arquivos estratégicos certas variáveis globais como ReadOnly, ex:


declare -r FOLDER_NAME_SERVICE=${1:-"ERRO_PARAM_SERVICO"}
declare -r TAREFA=${2:-"ERRO_PARAM_TAREFA"}
declare -r ORIGEM="$3"
declare -r TAREFA_INICIAL=${4:-0}
declare -r TAREFA_FINAL=${5:-0}
declare -r TIPO_SERVICO=${6:-"START"}
declare -r CANAIS_GLOBAIS=${7:-"NO_CANAIS_GLOBAIS"}
declare -r FILE_CONFIG_GLOBAL_VARS_SERVICES="${FOLDER_CONFIGS}/config.GLOBAL.services.sh"
declare -r FILE_CONFIG_SERVICES_CARREGADO=true



Outros arquivos de inclusão também podem conter uma ou outra. Depende de quem precisa do dito cujo.
Em um caso especial, tenho a variável em 3 arquivos. $FILE_CONFIG_GLOBAL_VARS_SERVICES

Já tentei nos outros arquivos inibir a mensaegm assim:


FILE_CONFIG_GLOBAL_VARS_SERVICES="${FOLDER_CONFIGS}/config.GLOBAL.services.sh" 1>/dev/null

ou

FILE_CONFIG_GLOBAL_VARS_SERVICES="${FOLDER_CONFIGS}/config.GLOBAL.services.sh" 2>/dev/null


Mas todas retornam:
home/gatux/scripts/pasta_virtual/apps_root/configs/config.GLOBAL.services.sh: linha 144: FILE_CONFIG_GLOBAL_VARS_SERVICES: a variável permite somente leitura

Quando coloco:
FILE_CONFIG_GLOBAL_VARS_SERVICES="${FOLDER_CONFIGS}/config.GLOBAL.services.sh" /dev/null o retorno é permissão negada.

De uma forma ou de outra, elas quebram a tela porque estão lançando os dados no terminal. Não atrapalham em nada no script porque realmente o valor não será alterado e vale a primeira que entrou. Já utilizo o recurso de permitir que o mesmo arquivo de inclusão seja feito mais de uma vez sendo controlado por variáveis GLOBAIS -r ex:

FILE_CONFIG_SERVICES_CARREGADO=true

Em outros arquivos de inclusão, sempre está sendo verificado se a tal variável já é true e caso não seja, não vai permitir o include/source do código.
Neste caso em especial é porque REALMENTE existe as mesmas variáveis em ambos arquivos. Claro que poderia separar isso em um outro arquivo, fazendo um 3º conjunto de variáveis. Mas é muito trabalhoso e na pratica acho que é mais fácil inibir as mensagens se possível.

Deve ser básico rsrs, mas já quebrei a "cachola"





  


2. Re: Como inibir mensagem de variável declarada como ReadOnly [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 10/05/2012 - 06:57h

Ainda não encontrei outra alternativa. Acho que nos arquivos secundários vou ter que testar antes as variáveis. Será que não tem outra forma ? É uma sacanagem kkk

Bora alterar todos locais que usam variáveis ReadOnly


if [ -z "$mylocavar" ]; then mylocavar="Ga_Tux"; fi








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts