On Tue, 12 Mar 2002, Axel Bojer wrote:
Det kan se ut som en liten bindestrek kunne gjøre susen:
cvs diff <ett-eller-annet> | gxedit -
Bindestreken betyr «standard input». Less leser standard inn uoppfordret hvis du ikke oppgir noe filnavn.
Det du ba om var å åpne en fil som ikke fantes enda, og det gir oftest feilmelding. Noen programmer ville ha opprettet en tom fil, men det var ikke det du ville; du ville omdirigere resultatet av cvs diff til en fil. Du kan gjøre den, tror jeg, uten å bruke noen teksteditor som mellomledd, slik:
cvs diff (ett-eller-annet) > fil.txt
Jeg har prøvd dem, men de gir feilmeldinger begge to! (Den siste klager over at fil.txt ikke eksister, men cvs diff kaddressbook.po | /home/axel/diff.txt etter at jeg alt har opprettet diff.txt gir bare melding om «ingen tilgang»; selv om jeg er root).
Jeg tror ikke du har fulgt oppskriften her... Det skulle stått:
cvs diff kaddressbook.po > /home/axel/diff.txt
Merk at det står > , og ikke |
Det du skriver blir tolket som «kjør filen /home/axel/diff.txt, med resultatet av cvs diff kaddressbook.po som input»
Jeg er temmelig sikker på at diff.txt ikke er kjørbar, fordi du ikke har gjort «chmod o+x» på den. Det vil du heller ikke gjøre, for du vil ikke kjøre den. Du vil sende data til den. Omdirigering av data til fil skjer med >
Vil du omdirigere data til et _program_, bruker du |
Trenger noen en ekstra innføring i hva «standard inn», «standard ut» og «starndard feil» (stderr) er for noe, og hvordan de brukes, forresten?
Kanskje jeg...
Jeg våger ikke ta den pedagogiske utfordringen på strak arm, men henviser heller til denne lille innføringen:
http://drift.ux.his.no/blekker/unix-labb/node9.html