From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 15218 invoked from network); 8 Jan 2023 13:31:28 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 8 Jan 2023 13:31:28 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1673184688; b=Oqfv0fpKlYa8EhUUJlvh1b9JmpDHq3mw+UxqlwP6ttVfPirjMCyPOFTeTA0DHMfIb9ONa6pjQo Wr0jYcyQUtTUG1271HrpYAQ/hueKYnGScOucBFGdPUP7ynLowfFd35wjgrzAexYW4h5ab62WQO plPZpqvQFtZr2Ap5Zlf9FPqcLksDg9t+liDhpZyl0MKKEr4C+ASYXN5E22/uFiPN5fxQOGBmrI F9f6C9AZqPf1VZdebq6w+LF/oC3Uyg+/CVA22u7PFRAQ8zPVMUnzCMuahCj1VRs4n4GnYASBr5 jiXSzQTyUJM6dR8MbCa+6aX8vVmrwB8Y71WFMe4BA2F6Cg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (out2-smtp.messagingengine.com) smtp.remote-ip=66.111.4.26; dkim=pass header.d=daniel.shahaf.name header.s=fm2 header.a=rsa-sha256; dkim=pass header.d=messagingengine.com header.s=fm3 header.a=rsa-sha256; dmarc=none header.from=daniel.shahaf.name; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1673184688; bh=esEzyjMEcJrQZY1mV/NS6tiTNuucMRrH7UVx0yv+uXY=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:DKIM-Signature:DKIM-Signature:DKIM-Signature; b=OjZ7xtDr7kYeFh6swlPvbyVlBuwTPQ59KVenVGjD91BTUP6xOJAAT7LaApD+SRl+8qDY3GMerl cMQP7rWM/waKx6rjzDEnDfzmmmv75rb5pgRJaQGaNmJCo2n4rPT+gPea4Sf42+TmxxD6Syq2uF CFzEV3kGgX37hpOg3NxgDCafYZf9D2mAC70yX1ITkKNpXNHDOJEB28sUDlTM3zz4NF2wPDVp1v lpGS7hp7O7EgW2wHSIkvj/Ar+OuhOZzenKDmqnwz0DZRssNSo5Ah0XUdRrEKhPGTPYvLOSy7Qr hW84laomFZrdvf33+jSOlNB4zdcqbIyqDtYxXwhbovCNiQ==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=1fMHCl+UoQ49+WNXo+3IfJ2jUYZXewvy7OfnMveTzoA=; b=r03NPaXevf0yXXmbBIg871lffH 4wE6BPgW63mgUXThBjqJBb3KdsmrJnhGpUQH3Llty6c8s4mJrjlTXDcC4PYQu1ZB+gnjUu02nQfJY cMnxY+ST16EUrWqd1PL47gfXXf0eLrW2Bg95gKpZsIOoZPC4hrRIYPASpRtcCz5teGJj6ZUNqGBQz BFvZaUDjzZ+WvgS5+giyiME51rP5QiA9Hz6vXFFwAyimHEZWGWdJ7xXkexPJ0rjLwRmn3fF24TF+k +Cef7S7tB5BhIYFCDHi0lVZmdDHWqB9P55CXVnXaZ2LPbLvoWUCfTZQxEdmaHnYPvjslghd1xIBon bMZ+AKeg==; Received: by zero.zsh.org with local id 1pEVln-000PkA-JM; Sun, 08 Jan 2023 13:31:27 +0000 Authentication-Results: zsh.org; iprev=pass (out2-smtp.messagingengine.com) smtp.remote-ip=66.111.4.26; dkim=pass header.d=daniel.shahaf.name header.s=fm2 header.a=rsa-sha256; dkim=pass header.d=messagingengine.com header.s=fm3 header.a=rsa-sha256; dmarc=none header.from=daniel.shahaf.name; arc=none Received: from out2-smtp.messagingengine.com ([66.111.4.26]:52777) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_256_GCM_SHA384:256) id 1pEVeU-000Or4-6E; Sun, 08 Jan 2023 13:23:54 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 5947D5C00C1; Sun, 8 Jan 2023 08:23:53 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Sun, 08 Jan 2023 08:23:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= daniel.shahaf.name; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1673184233; x= 1673270633; bh=1fMHCl+UoQ49+WNXo+3IfJ2jUYZXewvy7OfnMveTzoA=; b=Q iGugS9KWMOwik3oRkyn6iOQhbacGlBadnRyQDZ/kigOLYQbA8TAewpWqeTEPqrdq 39dj2Ru6ylxsGLVKwmHZjB/Z4TmcJctmq66IH0ApPxeiEeJ4dcr76wvqlrMwfTS9 7d+pWdvbG4rN68K6VJa3Vsg6ZtTTMC1IMfQ0/O9pRwBSZ7fW7eGeHgnhwUwast66 XR8AAA74snC/PvO0JRG+vE4/dZolBT2txkTvWpIp+d4vMgYP9ruA1DY1907Y30a3 6GZleY7QjDSF7Mq6bhNK6AYT/omERV7EQqTT8YhN2IOs8Xz8Olp17A88KCjlJwZy 1baVGSi2y1JWT2rSMa3yw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1673184233; x=1673270633; bh=1fMHCl+UoQ49+WNXo+3IfJ2jUYZX ewvy7OfnMveTzoA=; b=BBNsqWoOlKY1LcffZHThS3aQfkZiCbHucajSxYb0I9iW 9Cx0ojlSp4L5TcqFJ56Cmvu8qw5hSuPfsFmsYOhOUCjAs7AldbAyNvKNJ/S8LQRb xRfZ+FQfJiL/3WoDZBBZmGkVsPV8uc/VC2rt6gJbEvs2lzKV+KVXTfl+D1HFF6la qNFc0NR7G3PhhfHcyS4S7rp+Q9TsGUMsWcdd8Dg3BI+0HD/DzPbQA0NBRHSVrSzk +ZuZ6RYyX3F3qkaiUYVHpiipdSvWQ0FmWt1CKqA5D7Pz5TTloeAdsX+/Alt8lOf7 3W/CUnnQKNb79ZjFDPQi9OZ2ujwrdcw4CD3+OW+WDg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrkeeggdehfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvvefukfhfgggtuggjfgesthdttddttdervdenucfhrhhomhepffgrnhhi vghlucfuhhgrhhgrfhcuoegurdhssegurghnihgvlhdrshhhrghhrghfrdhnrghmvgeqne cuggftrfgrthhtvghrnhepgeffvefgvdfffeefleduhfejheektdejvdeileeutdekfeeg hfelkeekjedtgeetnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomhepugdrshesuggrnhhivghlrdhshhgrhhgrfhdrnhgrmhgv X-ME-Proxy: Feedback-ID: i425e4195:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 8 Jan 2023 08:23:53 -0500 (EST) Received: by tarpaulin.shahaf.local2 (Postfix, from userid 1000) id 4Nqd7p6WPnz6G; Sun, 8 Jan 2023 13:23:50 +0000 (UTC) Date: Sun, 8 Jan 2023 13:23:50 +0000 From: Daniel Shahaf To: Zsh-Users List Cc: Pier Paolo Grassi Subject: Re: read with redirected stdin Message-ID: <20230108132350.GL8411@tarpaulin.shahaf.local2> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Seq: 28626 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: Roman Perepelitsa wrote on Sat, Jan 07, 2023 at 18:31:30 +0100: > On Sat, Jan 7, 2023 at 6:22 PM Pier Paolo Grassi wrote: > > > > Thanks, but i don't _always_ redirect stdin. > > The code will still work (except for the corner case I mentioned). > > Upon further thinking, the following should work in all cases: > > if [[ -n $TTY ]]; then > # There is a terminal. Read from it. > read -k1 > else > # There is no terminal. Read from stdin. > read -k1 -u0 > fi Would it be useful to provide a ctermid(3) wrapper in zsh/system? I'm aware of tty(1), but that returns the name of the terminal _on stdin_, which isn't necessarily the same thing as the controlling terminal.