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

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

Re: [shell-script-pt] Configurando e testando variáveis


From: Fábio Assis
Subject: Re: [shell-script-pt] Configurando e testando variáveis
Date: Wed, 22 Jul 2020 18:46:44 -0300

você já tentou sem assim:
#!/bin/bash
if env test -n "${RCLONE_CONFIG_PASS}";
then
echo "OK"
else
echo "Senha, por favor ..."
read -s RCLONE_CONFIG_PASS
export RCLONE_CONFIG_PASS
fi



Em sáb., 18 de jul. de 2020 às 18:24, Jamenson Ferreira Espindula de Almeida Melo <jafesp@gmail.com> escreveu:
Em qua., 15 de jul. de 2020 às 01:36, Alfredo Casanova
<atcasanova@gmail.com> escreveu:
>
> Você está executando esse script na crontab?

Obrigado por responder, Alfredo Casanova. Não estou executando o
script na crontab. Estou executando manualmente para fins de teste.
>
> Faça um teste, mande o resultado do comando "env" por dentro do script pra um arquivo temporário e compare a saída com o mesmo comando no shell interativo

Seria eu incluir uma linha do tipo <echo $RCLONE_CONFIG_PASS >
/tmp/teste.txt> logo após o comando "read ..."?
>
> Em ter, 14 de jul de 2020 20:32, Jamenson Ferreira Espindula de Almeida Melo <jafesp@gmail.com> escreveu:
>>
>> Saudações.
>>
>> Pessoal, até onde sei, um comando emitido em linha de comandos estamos
>> no chamado _shell interativo_. Por outro lado, comandos em um arquivo de
>> "script" estamos no chamado _shell não interativo_.
>>
>> Dadas tais premissas, minha pergunta é: a configuração e testagem de
>> variáveis no ambiente de shell GNU Bash obedecem à mesma sintaxe ou
>> existem diferenças?
>>
>> A situação: eu uso muito um aplicativo chamado "rclone" para produzir
>> cópias de segurança de arquivos na nuvem. O "rclone" exige um arquivo
>> previamente configurado para acessar os armazenamentos online. Por
>> questões de segurança, esse arquivo de configuração de armazenamentos
>> online pode ser cifrado mediante inserção de senha. Para decifrar,
>> claro, insere-se a senha.
>>
>> Ocorre que tal mecanismo cria um problema quando se deseja usar o
>> "rclone" em scripts, ou seja, _sem_ ser no modo interativo (como haverá
>> a inserção da senha para decifrar o arquivo de configuração se não se
>> está no modo interativo?) Para solucionar tal problema, o "rclone"
>> obedece a uma variável de ambiente chamada "RCLONE_CONFIG_PASS". Quando
>> configurada com a senha, o arquivo de configuração do "rclone" é
>> decifrado e a execução ocorre normalmente.
>>
>> A minha intenção então é _testar_ se a variável de ambiente
>> "RCLONE_CONFIG_PASS" já está configurada (independentemente se contém a
>> senha correta ou errada) e _ignorar_ nos scripts a chamada ao comando de
>> configuração.
>>
>>
>> O problema: o modo recomendado pelos desenvolvedores do "rclone" para
>> configurar a variável "RCLONE_CONFIG_PASS" é este:
>>
>>  = = = = = Início de transcrição = = = = =
>>
>> #!/bin/echo Source this file don't run it
>> echo "Senha, por favor ..."
>> read -s RCLONE_CONFIG_PASS
>> export RCLONE_CONFIG_PASS
>>
>>  = = = = = Fim de transcrição = = = = =
>>
>>
>> Eu tentei isto em um arquivo de script e deu errado:
>>
>>  = = = = = Início de transcrição = = = = =
>>
>> if env test -n "${RCLONE_CONFIG_PASS}";
>> then
>> echo "OK";
>> else
>> echo "Senha, por favor ...";
>> read -s RCLONE_CONFIG_PASS;
>> export RCLONE_CONFIG_PASS;
>> fi
>>
>> exit 0
>>
>>  = = = = = Fim de transcrição = = = = =
>>
>>
>> Porém, na linha de comandos, o seguinte deu certo:
>>
>> if env test -n "${RCLONE_CONFIG_PASS}"; then echo "OK"; else echo \
>> "Senha, por favor ..."; read -s RCLONE_CONFIG_PASS; export
>> RCLONE_CONFIG_PASS; fi
>>
>>
>> Daí as minhas observações iniciais: o comando em um arquivo de "script"
>> (shell não interativo), deu _errado_.
>>
>> O comando emitido em linha de comandos (shell interativo) deu _certo_.
>>
>>
>> Isso é erro meu? Existem mesmo diferenças?
>>
>>
>> Desculpe-me o _longo_ texto.
>>
>>
>> Muito grato qualquer ajuda!
>>
>>
>> Jamenson Ferreira Espindula de Almeida Melo
>> Jaboatão dos Guararapes, Pernambuco, Brasil
>> Usuário GNU/Linux nº 166197
>> https://linuxcounter.net/cert/166197.png
>>
>> Impressão digital da chave PGP:
>> 234D 1914 4224 7C53 BD13  6855 2AE0 25C0 08A8 6180
>>
>> _______________________________________________
>> Lista brasileira de usuários de shell script
>> Endereço de e-mail da lista: shell-script-pt@nongnu.org
>> Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>>
>> NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
>
> _______________________________________________
> Lista brasileira de usuários de shell script
> Endereço de e-mail da lista: shell-script-pt@nongnu.org
> Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>
> NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.

reply via email to

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