como passar o valor do arquivo jar interativo no shell script

2

Estamos usando o oswatcher em nosso ambiente, que executa e coleta informações de diagnóstico nas versões Redhat linux 5.6 /6.4. Isso é agendado sob root, que executa e coleta informações sobre iostat, network stat, cpu, etc. a cada 30 segundos e mantém todas as informações em arquivos .dat (arquivo simples) no diretório de archive.

Agora, analisamos com base em comandos interativos fornecidos pelo analisador de caixa preta oswatcher. Nós estamos olhando para automatizar a análise usando o script de shell que é executado a cada 24 horas para minerar os dados de 24 horas e gerar um painel de bordo. o abaixo é o comando para gerar o painel onde ele precisa de três parâmetros de entrada. um é

java -jar oswbba.jar -i /opt/oracle/tfa/repository/suptools/<HOSTNAME>/oswbb/oracle/archive 

- agora, interativamente, espera que uma das opções seja fornecida como entrada.

Enter X to Export Parsed Data to Flat File
Enter S to Analyze Subset of Data(Changes analysis dataset including graph time scale)
Enter A to Analyze Data
Enter D to Generate DashBoard

Enter Q to Quit Program

Please Select an Option:   << 1 or 2 or D (dashboard) >> 

(aqui eu quero fornecer a entrada como D. Esta entrada eu preciso passá-lo como valor no shell script). como podemos alcançar? da mesma maneira, a segunda entrada é o nome do diretório e o caminho do diretório a ser criado para análise.

Todos esses três parâmetros precisam ser passados no shell script para automatizar a análise.

considera Kumar

    
por kumar_2000 30.04.2018 / 13:31

1 resposta

0

Quando você diz que é necessário inserir dados de forma interativa, isso significa que está lendo stdin . Podemos replicar isso fazendo eco na entrada para o processo stdin :

echo "D" | java -jar oswbba.jar -i /opt/oracle/tfa/repository/suptools/<HOSTNAME>/oswbb/oracle/archive

Observe que echo termina automaticamente com um caractere de nova linha.

Se precisar de mais informações, você pode fazer:

echo -e "D\n<next_input>\n<next_input>" | ...

O sinalizador -e permite a interpretação de seqüências de escape, como \n .

    
por 30.04.2018 / 17:44