Chamar um Script dentro do outro.

1. Chamar um Script dentro do outro.

Pablo
PabloPx

(usa Outra)

Enviado em 22/06/2020 - 17:01h

Pessoal, boa noite, tenho um script que gera um arquivo csv que contém o nome de todos os meus servidores, quando esse arquivo é gerado a partir da execução do meu script, o script joga esse arquivo para um diretório chamado "saida", porém junto com os nomes dos meus servidores que meu script carrega nesse arquivo csv, ele também carrega uma mensagem que eu não preciso...

Pensando nisso eu criei um outro script dentro no diretório "saida", ou seja...O local onde o meu arquivo csv foi gerado pela execução do primeiro script...Este segundo script que eu criei para remover essas linhas, estã funcionando...Ele apaga de forma precisa e eficiente o que não é interessante para mim, que são as mensagens que eu mencionei no começo do post. Na verdade são dois arquivos que esse meu primeiro script gera, o servidores.csv e o space.csv

SEGUE O SCRIPT PARA REMOÇÃO DAS LINHAS O exclud.sh:

#!/bin/bash
egrep Last servidores.csv && sed -i '/notty/d' servidores_host.csv
egrep Last space.csv && sed -i '/notty/d' servidores_space.csv

Porém eu quero chamar esse script dentro do meu script principal que gera esses 2 arquivos csv para que em cima deles eu possa trabalhar com os nomes dos servidores de forma íntegra, e sem essas mensagens, em outras palavras eu quero chamar esse script que escrevi acima, dentro do meu primeiro script que gera esses 2 arquivos.

Então no final do primeiro script eu adicionei a seguinte linha:

./opt/scripts/arquivos/saida/exclud.sh

Mas mesmo assim não funciona, o script gera os meus 2 arquivos, mas ele não executa o segundo script que deleta as mensagens que eu não preciso, ele simplesmente gera e joga os arquivos csv no meu diretório "saida". Ai toda hora eu preciso ficar executando ./exclud.sh dentro da pasta "saida", mas eu queria que meu primeiro script já fizesse isso para mim no ato da execução, gerando os arquivos e chamando o segundo script exclud.sh para deletar as mensagens, mas ele só gera os arquivos e não chama o exclud.sh.


  


2. Re: Chamar um Script dentro do outro.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 22/06/2020 - 18:24h


PabloPx escreveu:

Pessoal, boa tarde, tenho um script que gera um um arquivo csv que contém o nome de todos os meus servidores, quando esse arquivo é gerado a partir da execução do meu script, o script joga esse arquivo para um diretório chamado "saida", porém junto com os nomes dos meus servidores que meu script carrega nesse arquivo csv, ele também carrega uma mensagem que eu não preciso...

Pensando nisso eu criei um outro script dentro do diretório "saida", ou seja...O local onde o meu arquivo csv está...O script esta abaixo e esta funcionando...
Ele apaga de forma precisa e eficiente o que eu não preciso, que são as mensagens que eu mencionei no começo do post.

#!/bin/bash
egrep Last check_host.csv && sed -i '/notty/d' check_host.csv

Porém eu quero chamar esse script dentro do meu script principal que gera esse arquivo csv para que em cima dele eu possa trabalhar com os nomes dos servidores de forma íntegra, e sem essas mensagens, em outras palavras eu quero chamar esse script que escrevi acima, dentro do meu primeiro script que gera esse arquivo.

Então no final do primeiro script eu adicionei a seguinte linha:

./opt/scripts/arquivos/saida/excluir.sh

Porém mesmo assim não funciona, o script gera o meu arquivo, mas ele não executa o segundo script que deleta as mensagens que eu não preciso, ele simplesmente gera e joga o arquivo csv no meu diretório "saida". Ai toda hora eu preciso ficar executando ./excluir.sh dentro da pasta "saida", mas eu queria que meu primeiro script já fizesse isso para mim no ato da execução.

Boa noite Pablo.
Não é possível simplicar?
Tipo, na geração de: check_host.csv,
excluir as linhas com a string "notty"...
Se possível, poste o "script" que gera o arquivo check_host.csv.
Ao meu ver, é só colocar o comando que exclui as linhas, apos a geração do arquivo...


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Chamar ums Script dentro do outro.

Mac
Skylen

(usa Slackware)

Enviado em 22/06/2020 - 19:04h

Boa noite,

Sempre usei o sh.

1) O script que quer chamar tem que ser excutável.

2) Você tem que está logado no root ou usando o sudo.

3) O Comando é sh.


#!/bin/bash
#
#
#

sh [caminho do arquivo]

#Fim


Observação:
A Variável PATH tem os caminhos das pastas que são executáveis, caso coloque seu
arquivo lá ele fica como se fosse um programa dentro do sistema.



4. RESOLVIDO

Pablo
PabloPx

(usa Outra)

Enviado em 22/06/2020 - 22:18h

Senhores consegui, eu tinha que adicionar o caminho dos arquivos no script, além do nome deles, agora deu certo






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts