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

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

Re: [shell-script-pt] Usando while... do e If no mesmo pipe


From: Paulo
Subject: Re: [shell-script-pt] Usando while... do e If no mesmo pipe
Date: Fri, 20 Nov 2020 03:10:26 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0

Olá George, me desculpe se entendi errado. Os três comandos curl são iguais, só 
muda o token, é isso?
Não entendi os if concatenados por pipe.

Substituindo os if;then;fi por case

cat myCompanyOutput.txt |
while IFS=, read hiringDate name last_name cpf cargo departamento telefone 
email gestorName salary empresa; do

case "$empresa" in
        myCompany)token=f5ca4c9f-a530-48e5-ac8c-cf33cf5b74b1
        ;;
        myCompany02)token=7b541570-16eb-4468-a222-f7789e1cfff9
        ;;
        myCompany03)token=0337304e-1d8f-4252-8676-9eb73c28393e
        ;;
esac

echo curl -X POST \
--url "https://public-api.convenia.com.br/api/v3/employees/admission"; \
--header 'Accept: application/json' \
--header 'token: '"$token" \
-d "hiring_date=$hiringDate&name=$name&last_name=$last_name&documents[cpf]=$cpf&job=$cargo&cell=$telefone&email=$email&supervisor[name]=$gestorName&department=$departamento&salary=$salary"

done


ps- rodei os comandos sem echo no curl e o curl conectou,
espero não ter criado nenhum inconveniente :)
Abraços Paulo

On 19/11/2020 19:31, George Robinson wrote:
Opa Julião!!!

Eu descobri o erro um pouco antes do seu feedback. Realmente eu dormi no ponto quanto a isto, porém, ainda tenho um problema. Eu não estou conseguindo cadastrar cada funcionario de acordo com a empresa que ele pertence... O que está acontecendo no momento é que as 3 empresas, através dos 3 tokes, estão cadastrando 3 funcionários. :(

Então tendo um arranjo ao invés de uma seleção de acordo com o campo...

Too bad...

Em qui., 19 de nov. de 2020 às 19:22, Julio C. Neves <julio.neves@gmail.com <mailto:julio.neves@gmail.com>> escreveu:

    Cara, num código tão bem indentado como o seu, é muito fácil descobrir qq 
erro!!! ;)

    Troque:
    [[$empresa=='myCompany']]
    por:
    [[ $empresa=='myCompany' ]]

    Os apóstrofos tb são diapensáveis.

    Abraços,
    Julio
    *» Não tem tempo para fazer um curso presencial?*
    *» Na sua cidade não tem nenhum bom curso de Linux?*
    *Veja detalhes** em:****https://educacao.dicas-l.com.br/shell-linux*
    <https://educacao.dicas-l.com.br/shell-linux>
    *
    *
    *Também damos treinamento em sua empresa*
    *em qualquer cidade**, **com certificado **e nota fiscal.*
    *
    *







    Em qui., 19 de nov. de 2020 às 18:11, George Robinson 
<george.robinson.br@gmail.com
    <mailto:george.robinson.br@gmail.com>> escreveu:

        Prezada lista,

        Estou tentando fazer uma leitura em um arquivo .txt e de acordo com o 
campo que vou ler (identificação
        da empresa), fazer um cadastro usando cURL via API. Eu tenho a seguinte 
entrada e a seguinte saída:

        cat myCompanyOutput.txt | while IFS=, read hiringDate name last_name 
cpf cargo departamento telefone
        email gestorName salary empresa; do if [[$empresa=='myCompany']] ; then 
curl  -X POST --url
        "https://public-api.convenia.com.br/api/v3/employees/admission
        <https://public-api.convenia.com.br/api/v3/employees/admission>" 
--header 'Accept: application/json'
        --header 'token: f5ca4c9f-a530-48e5-ac8c-cf33cf5b74b1' -d
        
"hiring_date=$hiringDate&name=$name&last_name=$last_name&documents[cpf]=$cpf&job=$cargo&cell=$telefone&email=$email&supervisor[name]=$gestorName&department=$departamento&salary=$salary"|
        if [[$empresa=='myCompany02']] ; then curl -X POST --url
        "https://public-api.convenia.com.br/api/v3/employees/admission
        <https://public-api.convenia.com.br/api/v3/employees/admission>" 
--header 'Accept: application/json'
        --header 'token: 7b541570-16eb-4468-a222-f7789e1cfff9' -d
        
"hiring_date=$hiringDate&name=$name&last_name=$last_name&documents[cpf]=$cpf&job=$cargo&cell=$telefone&email=$email&supervisor[name]=$gestorName&department=$departamento&salary=$salary"
        | if [[$empresa=='myCompany03']]; then curl  -X POST --url
        "https://public-api.convenia.com.br/api/v3/employees/admission
        <https://public-api.convenia.com.br/api/v3/employees/admission>" 
--header 'Accept: application/json'
        --header 'token:  0337304e-1d8f-4252-8676-9eb73c28393e' -d
        
"hiring_date=$hiringDate&name=$name&last_name=$last_name&documents[cpf]=$cpf&job=$cargo&cell=$telefone&email=$email&supervisor[name]=$gestorName&department=$departamento&salary=$salary";
        fi;fi;fi; done

        SAÍDA:
        bash: [[myCompany==myCompany]]: comando não encontrado
        bash: [[myCompany02==myCompany]]: comando não encontrado
        bash: [[myCompany03==myCompany]]: comando não encontrado

        Conteúdo do arquivo myCompanyOutput:
        2020-12-01,Guilherme,Rosa,08822812751,Gerente de Remuneração e 
Benefícios,Tecnologia da
        Informação,21976748288,guilherme_rosa@me.com 
<mailto:guilherme_rosa@me.com>,Jonas Fake,16000,myCompany
        2020-12-08,George Robinson,da Silva Serejo Santos,10235233706,Analista 
de Suporte Sênior,Tecnologia da
        Informação,21974498138,george.robinson.br@gmail.com 
<mailto:george.robinson.br@gmail.com>,Jonas
        Fake,16000,myCompany02
        2020-12-15,Rosilene,Barbosa de Souza,11271238748,Analista de
        Marketing,Marketing,21966724094,rosilenebs30@gmail.com 
<mailto:rosilenebs30@gmail.com>,Jonas
        Fake,16000,myCompany03

        O caminho seria realmente criar uma confição IF de acordo com o campo 
que representa a empresa?

        Atenciosamente,

-- George Robinson
        Analista de Suporte
        Tel: +55 (21) 97449-8138
        _______________________________________________
        Lista brasileira de usuários de shell script
        Endereço de e-mail da lista: shell-script-pt@nongnu.org 
<mailto:shell-script-pt@nongnu.org>
        Para se inscrever ou desinscrever acesse: 
https://lists.nongnu.org/mailman/listinfo/shell-script-pt
        <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/
        <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]