Gå til innhold

make(linux) superlinje, all in one?


Anbefalte innlegg

Jeg lurer på hvor mye jeg kan stappe opp i en linje når jeg kjører make på linux?

 

jeg ønsker å:

 

* kjøre make

* outputte make sitt resultat til en foo.txt

* kjøre et perl script

 

foreløpig har jeg

 

make > foo.txt

 

men andre gangen jeg kjører det får jeg opp at filen finnes. men finnes det en linje for alt det jeg ønsker å gjøre? Noe ala:

 

make > foo.txt AND perl perlScript.pl

 

:D

Endret av South_Bridge
Lenke til kommentar
Videoannonse
Annonse

Hører kanskje hjemme under Pogramvare -> *Nix.

 

Mener det er "&&" for å kjøre kommandoer etterhverandre og "&" for å kjøre asynkront.

 

Denne vil kjøre make først, så perl scriptet:

make > foo.txt && perl perlScript.pl

 

Denne vil kjøre make og perl scriptet i parallell:

make > foo.txt & perl perlScript.pl

Lenke til kommentar

Jeg endte opp med å gjøre følgende

 

make > error.txt 2>&1 ; perl analysis.pl 

 

Man kan bare skrive ; mellom kommandoene så blir de kjørt etter hverandre. Man kan også bruke && som nevnt, men den vil bare fortsette dersom exit koden fra forrige kommando er 0, som typisk betyr ingen feil.

 

$ false ; echo hei
hei
$ false && echo hei
$ true && echo hei
hei

 

Problemet ditt ser ut til å være at output som du er ute etter i fra make skrives til stderr (fil descriptor 2) og du må derfor gjøre en redirect av fil descriptor 2 til 1 før du leser stdin i perl programmet ditt.

 

i bash. funker ikke i terminal men det kommer av noe alias shit greier jeg ikke har peiling på. uff.... jeg _misliker_ linux.

 

Hva kjører du i terminal da? csh?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...