Automatização de experimentos com scripts

Pare de executar seus experimentos manualmente

Erbe Pandini Rodrigues
Computação para físicos
2 min readMay 20, 2017

--

Considere o programa calc que faz um certo cálculo com um arquivo de entrada, com um argumento x fornecido pelo usuário e gera um arquivo de saída, cujo nome é dado pelo usuário.

Como criar um script executável no terminal (linux)

Crie ou modifique seu programa para receber argumentos na linha de comando para receber o arquivo de entrada, o valor de x e o nome do arquivo de saída.

Crie um arquivo chamado exp.sh em um editor de texto simples. Inicie-o com #!/bin/bash. Nas linhas seguintes escreva os comandos para rodar seu programa (veja um exemplo com abaixo com calc). Para escrever comentários no arquivo inicie a linha com #.

#!/bin/bash# Experimento 1 [calc entrada x saída]./calc input0.dat 1.0 out0_1.0.dat
./calc input1.dat 1.1 out1_1.1.dat

Depois de salvar o arquivo, abra um terminal, mude para o diretório do arquivo exp.sh e digite:

chmod +x exp1.sh

Agora é só executar:

./exp.sh

Neste exemplo um programa será executado por vez. Com pequenas modificações você pode executar todo (ou um conjunto) de programas ao mesmo tempo!

Scripts para múltiplas pastas

Forneça os caminhos completos dos dados e programa nas linhas do script, por exemplo:

#!/bin/bash# Experimento 1../prog/./calc ../entrada/input0.dat 1.0 ../result/out0_1.0.dat
../prog/./calc ../entrada/input1.dat 1.1 ../result/out1_1.1.dat
../prog/./calc ../entrada/input2.dat 1.2 ../result/out2_1.2.dat

No exemplo acima a pasta experimentos, que contém o script acima, a pasta prog, entrada e result estão todas no mesmo diretório. O ../ no início dos diretórios significa que cada pasta está um nível acima da pasta atual de experimentos. Procedendo desta forma, se você mudar todas as pastas para um mesmo diretório diferente, não precisará modificar seus scritps.

--

--