Enviado em 25/01/2016 - 09:14h
Ao digitar a seguinte sequência de comandos no bash retorna esta saída:
$cat cadastro_sisvan.sh | grep -A 1 "comando_ogait" | tail -1
./sigss.sh -l ; numero_nao_listados=`cat lista_de_nomes_inexistentes_no_sisvan_web.txt | wc -l` ; for num in $( seq 1 "$numero_nao_listados" ); do linha_paciente_nao_listado=`cat lista_de_nomes_inexistentes_no_sisvan_web.txt | sed -n ${num}p` ; nome_paciente_formatado_sigss=`echo "$linha_paciente_nao_listado" | cut -d ";" -f 2 | sed -r 's/ +/ /g' | sed -s 's/\ $//g' | sed -s 's/\ JPA\ /\n_____JPA/g' | sed -s 's/\ JARDIM\ /\n_____/g' | sed -s 's/(ESF/\n_____ESF/g' | sed -s 's/\ ESF\ /\n_____ESF/g' | sed -s 's/\ ESF$/\n_____ESF/g' | sed -s 's/\ ESF[\ XIV.1234567890][\ .XIV1234567890$]/\n_____ESF/g' | sed -s 's/ESF[\ XIV.1234567890][\ .XIV1234567890$]/\n_____ESF/g' | sed -s 's/\ EF[\ XIV.1234567890][\ .XIV1234567890$]/\n_____ESF/g' | sed -s 's/ESF[\ XIV.1234567890]/\n_____ESF/g' | sed -s 's/\ EF[\ XIV.1234567890]/\n_____ESF/g' | sed -s 's/\ -\ PIONEIR/\n_____PIONER/g' | sed -s 's/\ -\ PIONERI/\n_____PIONER/g' | sed -s 's/-(PIONEIR/\n_____PIONEIR/g' | sed -s 's/\ (PIONEIR/\n_____PIONEIR/g' | sed -s 's/\ PIONEIR/\n_____PIONEIR/g' | sed -s 's/\ PIONERI/\n_____PIONEIR/g' | sed -s 's/\ PM/\n_____PM/g' | sed -s 's/\ PX/\n_____PX/g' | sed -s 's/\ PCX/\n_____PCX/g' | sed -s 's/\ XPM/\n_____XPM/g' | sed -s 's/\ XX/\n_____XX/g' | sed -s 's/\ PC/\n_____PC/g' | sed -s 's/[0123456789]/\n_____numero/g' | sed -s 's/\ III$/\n_____III/g' | sed -s 's/\ II$/\n_____II/g' | sed -s 's/\ EF\ /\n_____ESF/g' | sed -s 's/\ XI$/\n_____ESF/g' | sed -s 's/\ XI\ /\n_____ESF/g' | sed -s 's/\ IV$/\n_____ESF/g' | sed -s 's/\ IV\ /\n_____ESF/g' | sed -s 's/\ VIII$/\n_____ESF/g' | sed -s 's/\ VIII\ /\n_____ESF/g' | sed -s 's/\ (XI)$/\n_____ESF/g' | sed -s 's/\ \.\ /\n_____ponto/g' | sed -s 's/\ \.$/\n_____ponto/g' | sed -s 's/\ IC\ /\n_____IC/g' | sed -s 's/\ IC$/\n_____IC/g' | sed -s 's/\ V\ /\n_____ESF/g' | sed -s 's/\ V$/\n_____ESF/g' | sed -s 's/[ (]PROVIS[OÓ]RIO/\n_____PROVI/g' | sed -s 's/-\ /\n_____traco/g' | sed -s 's/\//\n_____barra/g' | grep -va "_____" | sed -s 's/\ $//g'` ; data_nascimento_sigss=`echo "$linha_paciente_nao_listado" | cut -d ";" -f 3` ; nis_sigss=`echo "$linha_paciente_nao_listado" | cut -d ";" -f 1` ; endereco_paciente_arquivo_morto=`grep -R -a "${nis_sigss};${nome_paciente_formatado_sigss};${data_nascimento_sigss}" ../arquivo_morto/* | cut -d ":" -f 2 | cut -d ";" -f 2 | sort | uniq` ; ./sigss.sh -u "$nome_paciente_formatado_sigss" "$data_nascimento_sigss" ; linha_dados_paciente_sigss="" ; for relatorio_sigss_linha in relatorio_sigss_*.txt ; do dados_paciente_for=`cat "$relatorio_sigss_linha" | grep ";"` ; linha_dados_paciente_sigss=`echo -e "${linha_dados_paciente_sigss}\n${dados_paciente_for}" | grep ";"` ; done ; numero_linhas_dados_paciente_sigss=`echo "$linha_dados_paciente_sigss" | wc -l` ; if [ "$numero_linhas_dados_paciente_sigss" -eq "1" ]; then relatorio_sigss=`grep -R -H "${linha_dados_paciente_sigss}" relatorio_sigss_*.txt | cut -d ":" -f 1` ; else echo "Escolha as informações corretas do paciente que foi acompanhado no sisvan do sigss, mas não está cadastrado no sisvan web" ; for nume in $( seq 1 "$numero_linhas_dados_paciente_sigss" ); do linha_opcao_dados_paciente=`echo "$linha_dados_paciente_sigss" | sed -n ${nume}p` ; echo "${nume}) ${linha_opcao_dados_paciente}" ; done ; echo "pre read" ; read opcao ; echo "$opcao" ; dados_paciente_escolhido=`echo "$linha_dados_paciente_sigss" | sed -n ${opcao}p` ; relatorio_sigss=`grep -R -H "${dados_paciente_escolhido}" relatorio_sigss_*.txt | cut -d ":" -f 1` ; fi ; echo "$relatorio_sigss" ; rm -f relatorio_sigss_*.txt ; done
Ao digitar o seguinte comando no bash o resultado acima também é executado como um shell script:
$cat cadastro_sisvan.sh | grep -A 1 "comando_ogait" | tail -1 | bash
O problema é que o comando "read opcao" não é executado, ou seja, simplesmente é pulado de forma que a variável $opcao fica vazia, comprometendo os comandos seguintes.
Alguma sugestão?
Aguardo ansiosamente pela correção.
Atenciosamente,
Tiago
$cat cadastro_sisvan.sh | grep -A 1 "comando_ogait" | tail -1
./sigss.sh -l ; numero_nao_listados=`cat lista_de_nomes_inexistentes_no_sisvan_web.txt | wc -l` ; for num in $( seq 1 "$numero_nao_listados" ); do linha_paciente_nao_listado=`cat lista_de_nomes_inexistentes_no_sisvan_web.txt | sed -n ${num}p` ; nome_paciente_formatado_sigss=`echo "$linha_paciente_nao_listado" | cut -d ";" -f 2 | sed -r 's/ +/ /g' | sed -s 's/\ $//g' | sed -s 's/\ JPA\ /\n_____JPA/g' | sed -s 's/\ JARDIM\ /\n_____/g' | sed -s 's/(ESF/\n_____ESF/g' | sed -s 's/\ ESF\ /\n_____ESF/g' | sed -s 's/\ ESF$/\n_____ESF/g' | sed -s 's/\ ESF[\ XIV.1234567890][\ .XIV1234567890$]/\n_____ESF/g' | sed -s 's/ESF[\ XIV.1234567890][\ .XIV1234567890$]/\n_____ESF/g' | sed -s 's/\ EF[\ XIV.1234567890][\ .XIV1234567890$]/\n_____ESF/g' | sed -s 's/ESF[\ XIV.1234567890]/\n_____ESF/g' | sed -s 's/\ EF[\ XIV.1234567890]/\n_____ESF/g' | sed -s 's/\ -\ PIONEIR/\n_____PIONER/g' | sed -s 's/\ -\ PIONERI/\n_____PIONER/g' | sed -s 's/-(PIONEIR/\n_____PIONEIR/g' | sed -s 's/\ (PIONEIR/\n_____PIONEIR/g' | sed -s 's/\ PIONEIR/\n_____PIONEIR/g' | sed -s 's/\ PIONERI/\n_____PIONEIR/g' | sed -s 's/\ PM/\n_____PM/g' | sed -s 's/\ PX/\n_____PX/g' | sed -s 's/\ PCX/\n_____PCX/g' | sed -s 's/\ XPM/\n_____XPM/g' | sed -s 's/\ XX/\n_____XX/g' | sed -s 's/\ PC/\n_____PC/g' | sed -s 's/[0123456789]/\n_____numero/g' | sed -s 's/\ III$/\n_____III/g' | sed -s 's/\ II$/\n_____II/g' | sed -s 's/\ EF\ /\n_____ESF/g' | sed -s 's/\ XI$/\n_____ESF/g' | sed -s 's/\ XI\ /\n_____ESF/g' | sed -s 's/\ IV$/\n_____ESF/g' | sed -s 's/\ IV\ /\n_____ESF/g' | sed -s 's/\ VIII$/\n_____ESF/g' | sed -s 's/\ VIII\ /\n_____ESF/g' | sed -s 's/\ (XI)$/\n_____ESF/g' | sed -s 's/\ \.\ /\n_____ponto/g' | sed -s 's/\ \.$/\n_____ponto/g' | sed -s 's/\ IC\ /\n_____IC/g' | sed -s 's/\ IC$/\n_____IC/g' | sed -s 's/\ V\ /\n_____ESF/g' | sed -s 's/\ V$/\n_____ESF/g' | sed -s 's/[ (]PROVIS[OÓ]RIO/\n_____PROVI/g' | sed -s 's/-\ /\n_____traco/g' | sed -s 's/\//\n_____barra/g' | grep -va "_____" | sed -s 's/\ $//g'` ; data_nascimento_sigss=`echo "$linha_paciente_nao_listado" | cut -d ";" -f 3` ; nis_sigss=`echo "$linha_paciente_nao_listado" | cut -d ";" -f 1` ; endereco_paciente_arquivo_morto=`grep -R -a "${nis_sigss};${nome_paciente_formatado_sigss};${data_nascimento_sigss}" ../arquivo_morto/* | cut -d ":" -f 2 | cut -d ";" -f 2 | sort | uniq` ; ./sigss.sh -u "$nome_paciente_formatado_sigss" "$data_nascimento_sigss" ; linha_dados_paciente_sigss="" ; for relatorio_sigss_linha in relatorio_sigss_*.txt ; do dados_paciente_for=`cat "$relatorio_sigss_linha" | grep ";"` ; linha_dados_paciente_sigss=`echo -e "${linha_dados_paciente_sigss}\n${dados_paciente_for}" | grep ";"` ; done ; numero_linhas_dados_paciente_sigss=`echo "$linha_dados_paciente_sigss" | wc -l` ; if [ "$numero_linhas_dados_paciente_sigss" -eq "1" ]; then relatorio_sigss=`grep -R -H "${linha_dados_paciente_sigss}" relatorio_sigss_*.txt | cut -d ":" -f 1` ; else echo "Escolha as informações corretas do paciente que foi acompanhado no sisvan do sigss, mas não está cadastrado no sisvan web" ; for nume in $( seq 1 "$numero_linhas_dados_paciente_sigss" ); do linha_opcao_dados_paciente=`echo "$linha_dados_paciente_sigss" | sed -n ${nume}p` ; echo "${nume}) ${linha_opcao_dados_paciente}" ; done ; echo "pre read" ; read opcao ; echo "$opcao" ; dados_paciente_escolhido=`echo "$linha_dados_paciente_sigss" | sed -n ${opcao}p` ; relatorio_sigss=`grep -R -H "${dados_paciente_escolhido}" relatorio_sigss_*.txt | cut -d ":" -f 1` ; fi ; echo "$relatorio_sigss" ; rm -f relatorio_sigss_*.txt ; done
Ao digitar o seguinte comando no bash o resultado acima também é executado como um shell script:
$cat cadastro_sisvan.sh | grep -A 1 "comando_ogait" | tail -1 | bash
O problema é que o comando "read opcao" não é executado, ou seja, simplesmente é pulado de forma que a variável $opcao fica vazia, comprometendo os comandos seguintes.
Alguma sugestão?
Aguardo ansiosamente pela correção.
Atenciosamente,
Tiago