Re: stty: stdin isn't a terminal

From: Christian Weisgerber <naddy(at)mips.inka.de>
Date: Sun, 1 Sep 2002 13:07:35 +0000 (UTC)

Clemens Hermann <haribeau(at)gmx.de> wrote:

> #!/bin/sh
> cat /usr/local/etc/jails.conf |
> while read dir name ip
> do
> jail ${dir} ${name} ${ip} /bin/sh /etc/rc
> done
> exit 0

(Überflüssiges cat.)

> es funktioniert soweit alles, nur dass ich als erste Meldung (bevor die
> Startmeldungen vom Jail kommen) ein "stty: stdin isn't a terminal" erhalte.
> Das Problem scheint irgendwie mit der pipe von cat zusammenzuhängen.

Naja, stdin hängt dann eben an der Pipe und nicht an einem Terminal,
und das

  stty status '^T'

am Anfang von /etc/rc meckert deshalb. Wenn dich diese eher
bedeutungslose Meldung stört, kannst du das etwa so umgehen:

  #!/bin/sh
  exec 3<&1
  while read dir name ip
  do
          jail ${dir} ${name} ${ip} /bin/sh /etc/rc <&3
  done </usr/local/etc/jails.conf
  exit 0

Erst den alten stdin-Filedescriptor auf einen unbenutzten sichern,
dann für das Schleifeninnere den geretteten fd wieder zurück auf
stdin kopieren.

-- 
Christian "naddy" Weisgerber                          naddy(at)mips.inka.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 01 Sep 2002 - 15:30:30 CEST

search this site