[linux] Re: shell vraagje

Bart-Jan Vrielink bartjan op vrielink.net
Di Jul 26 20:53:46 CEST 2011


On 07/25/11 12:00, Hans Paijmans wrote:
> even tussendoor: hoe kan ik in een shellscript zien of het script met
> redirectie is aangeroepen?
> (het verschil dus tussen 'sh bla<  blabla' en 'sh bla')
>    

Volgens mij is dit net als kwantum mechanica: pas door er naar te kijken 
kun je weten of je iets op je stdin hebt. Ook als een script niet met 
een < of een | is verbonden, dan kan er nog steeds iets op stdin zitten: 
namelijk wat je zelf via het toetsenbord invoert.

De standaard aanpak is dus volgens mij eerst te kijken of er al invoer 
op de command line is gegeven, en pas als dat er niet is, dan naar stdin 
te kijken. Tools zoals bijvoorbeeld awk en grep doen dat ook. Ik zou dus 
eerst kijken of er in $* een file voorbij komt en als dit niet het geval 
is terug vallen op stdin.

In een shell kun je stdin uitlezen met read.



More information about the Linux mailing list