Pular para o conteúdo

Preciso da ajuda de vocês para criar um script interagente [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Preciso da ajuda de vocês para criar um script interagente [RESOLVIDO]

Enviado em 18/06/2015 - 15:15h

Olá pessoal!
Estou querendo criar um script para ajudar a compilar um arquivo em latex pelo terminal. Só que fazer isso muitas vezes é tedioso, então estou querendo criar um script que faça o seguinte:

 ./script.sh arquivo.tex  
Mas não sei fazer ainda esse tipo de interação!
Se alguém poder me ajudar a resolver esse problema ficarei muito agradecido

Responder tópico

2. Re: Preciso da ajuda de vocês para criar um script interagente

Melhor resposta

Enviado em 19/06/2015 - 10:01h

passosfil escreveu:

wellington_r escreveu:


Não sei o que é latex, mas não entendi o que você quer.
Quer um script que execute outro script passando como parâmetro arquivo.tex?

É o seguinte, no arquivo *.sh contém as seguintes linhas:

#!/bin/bash
latex arquivo.tex
bibtex arquivo #sem a extensão .tex
latex arquivo.tex
latex arquivo.tex
pdflatex arquivo.tex
Nome: Francisco Iago Lira Passos
Curso: Bacharelado em Física


Você quer que o arquivo.tex seja variável, é isso?

Por exemplo, você quer executar
./script.sh meuprimeiroarquivo.tex
./script.sh meusegundoarquivo.tex

Se for isso, é só você fazer assim:

#!/bin/bash
latex $1
bibtex $(basename $1 .tex) #sem a extensão .tex
latex $1
pdflatex $1
O $1 substitui é substituído pelo primeiro parâmetro passado para o comando, assim como o $2 pelo segundo parâmetro e assim por diante. O $0 é substituído pelo nome do próprio comando.
Por exemplo, o arquivo testando.sh, contendo:

#!/bin/bash
echo "O primeiro parâmetro digitado foi: $1"
echo "O segundo parâmetro digitado foi: $2"
echo "O comando digitado foi: $0"
echo "A quantidade parâmetros digitados foi: $#"
echo "Segue os parâmetros em lista: $@"
Executado por:

./testando.sh parA parB
Dá a saída:

O primeiro parâmetro digitado foi: parA
O segundo parâmetro digitado foi: parB
O comando digitado foi: ./testando.sh
A quantidade parâmetros digitados foi: 2
Segue os parâmetros em lista: parA parB

3. Re: Preciso da ajuda de vocês para criar um script interagente [RESOLVIDO]

Enviado em 18/06/2015 - 16:38h


Não sei o que é latex, mas não entendi o que você quer.
Quer um script que execute outro script passando como parâmetro arquivo.tex?

4. Re: Preciso da ajuda de vocês para criar um script interagente [RESOLVIDO]

Enviado em 19/06/2015 - 02:20h

wellington_r escreveu:


Não sei o que é latex, mas não entendi o que você quer.
Quer um script que execute outro script passando como parâmetro arquivo.tex?

É o seguinte, no arquivo *.sh contém as seguintes linhas:

#!/bin/bash
latex arquivo.tex
bibtex arquivo #sem a extensão .tex
latex arquivo.tex
latex arquivo.tex
pdflatex arquivo.tex
Nome: Francisco Iago Lira Passos
Curso: Bacharelado em Física

5. Re: Preciso da ajuda de vocês para criar um script interagente [RESOLVIDO]

Enviado em 19/06/2015 - 12:38h

wellington_r escreveu:

passosfil escreveu:

wellington_r escreveu:


Não sei o que é latex, mas não entendi o que você quer.
Quer um script que execute outro script passando como parâmetro arquivo.tex?

É o seguinte, no arquivo *.sh contém as seguintes linhas:

#!/bin/bash
latex arquivo.tex
bibtex arquivo #sem a extensão .tex
latex arquivo.tex
latex arquivo.tex
pdflatex arquivo.tex
Nome: Francisco Iago Lira Passos
Curso: Bacharelado em Física


Você quer que o arquivo.tex seja variável, é isso?

Por exemplo, você quer executar
./script.sh meuprimeiroarquivo.tex
./script.sh meusegundoarquivo.tex

Se for isso, é só você fazer assim:

#!/bin/bash
latex $1
bibtex $(basename $1 .tex) #sem a extensão .tex
latex $1
pdflatex $1
O $1 substitui é substituído pelo primeiro parâmetro passado para o comando, assim como o $2 pelo segundo parâmetro e assim por diante. O $0 é substituído pelo nome do próprio comando.
Por exemplo, o arquivo testando.sh, contendo:

#!/bin/bash
echo "O primeiro parâmetro digitado foi: $1"
echo "O segundo parâmetro digitado foi: $2"
echo "O comando digitado foi: $0"
echo "A quantidade parâmetros digitados foi: $#"
echo "Segue os parâmetros em lista: $@"
Executado por:

./testando.sh parA parB
Dá a saída:

O primeiro parâmetro digitado foi: parA
O segundo parâmetro digitado foi: parB
O comando digitado foi: ./testando.sh
A quantidade parâmetros digitados foi: 2
Segue os parâmetros em lista: parA parB


Era isso mesmo! Muito obrigado!

Nome: Francisco Iago Lira Passos
Curso: Bacharelado em Física

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder