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,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 18850 invoked from network); 14 Feb 2021 21:39:17 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 14 Feb 2021 21:39:17 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1613338757; b=X4WvUtWrPk51q3ifA7g3fytBFFI+kNsDudOLrijCnJlGm/wWDYfmIGIuItJsoZXjAlDPMRuPMQ O3XSuz07OKgn3gQoYKm1lesKvsHr1RxysKxaLsVrYb1XuYKOGMuKhIddh++O7d1HMU/6/HH3TT /ZoUTJISzgPhvoNHCKR9NSIiHqgyzxl5XqufT8w42a7aV6HOut5t1VBxVdxvpYao+Tk0jIPIIS cB33VXxOIAUq4FCmMQdpRh7f/JgC9FhombFnsZTFX7Ept/IxhaB+VPHMzlO/e0sycq9dqdFc5E oGu9td9p9FznkpB/nX9e5NYbGpsbakc/BnesilcKUMboLg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-oi1-f172.google.com) smtp.remote-ip=209.85.167.172; dkim=pass header.d=brasslantern-com.20150623.gappssmtp.com header.s=20150623 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1613338757; bh=AJPTtNIej3t5wD883ylPJeqxN6oRVEqMr+WlLtgW24E=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=hGiA65cwCVBRa2fV8Rq76pJArKXsjStVIeVYf+LqQvyjgysNOt+oahkgjuGSoeG8LAUHJ1H46X Oqrtf0cuDAp5VXgKk2qDW6q1ZrX/AQh9+3shmh6UCao3LZDEN+oVI8l4atw2ThGAlSU0dytffC 4nDxCV8ItTRAAckqbWCuNjNh4bBcuYbhUnbu9EldQViTGY7WBbBX9g0k2064UOgCqV+8qygIOL r9Cd5JOJFoOLh2pK9GonxXWY0AcG/gaRNwhKLY70pNtnLT9E7CAT+CQr4aesla3ZIuYnKFm89i xl1vA8/0aYOgsG9LSm+2352riXcNXMlObDk1zEEf/rzNoA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:To:Subject:Message-ID: Date:From:In-Reply-To:References:MIME-Version:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=lfmc2udFAf8g7t0N0aHoDiYDZubAZjdRpeDBNj0OXy0=; b=PYQIdacAqovuOMmtx8jsiP5J4f W1Ji2fXtDxh4KUd09dN/FsKH0E3rSqgueSLK0+SrkEtOLoslGqv6VeRRBmq+tVQQUP0gXUlERGWpm 7oNHdAGKZY6bsM8UGzcJf3pdiSkr/z2sYKiCJT3rq3uUe5oVmZ3saKX9UTr1qGvkIgo8DEgN6hDgp SDE3AGJA9GQmgVlC270fuo+UiuGOtztcQe/0GGUQfle3Z4MSc3+XYGwgljAOigl0kEfBnmvSlhb3o TZ22HlQ6TSmhL+RJ4NU0mepTPbiDhD/Ix7bmJKagmLVNF7P798qzZ/hK3lqnO0dJbK7fm844uOb98 MSgSBEHA==; Received: from authenticated user by zero.zsh.org with local id 1lBP6p-0008p2-Q5; Sun, 14 Feb 2021 21:39:15 +0000 Authentication-Results: zsh.org; iprev=pass (mail-oi1-f172.google.com) smtp.remote-ip=209.85.167.172; dkim=pass header.d=brasslantern-com.20150623.gappssmtp.com header.s=20150623 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-oi1-f172.google.com ([209.85.167.172]:40336) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1lBP6N-0008Rz-BN; Sun, 14 Feb 2021 21:38:48 +0000 Received: by mail-oi1-f172.google.com with SMTP id 18so5930883oiz.7 for ; Sun, 14 Feb 2021 13:38:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=lfmc2udFAf8g7t0N0aHoDiYDZubAZjdRpeDBNj0OXy0=; b=K1H6lLErVyzH8gYemaxjC5ruydBlKq6ysuB8UkPlsmSvN1XEWujETXtZEUyfZuyOiM NXkKB12ssKaWXgGA/so44FrPEvHVC8+UQVupxaiw4nxZUMLqmQIlnyyuw4Bx3sA1TlAl 5GB+EoPAuBMHjiRxV/p014FWogXLv7jKpky1njjVJPbtDKksh+FnUxx+yAgPNc1k/vN/ Itab6ayh/QDMpRPPq/BUA6FO/DmRNm+rbKuU4nKy2cBKkp2T0ns2TgAzz8hj6/pRvPLI WyEQida+G1NOPWUb25qSj1WSM9IbRIVELMDquclehELyUYkWoVKzbGr6QIA31tANLrA+ grIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=lfmc2udFAf8g7t0N0aHoDiYDZubAZjdRpeDBNj0OXy0=; b=ZjeYYNFjG9xERb7aaFPQlIkJm4Q/5/xbUN4baDDkaj0RWBVmwIgVU65iW+ZF8Q9Z1R Y9YfcyIJvb7scfniQw+4z0A4uudfH0l6n4FOMFQZ669QDPij18K2IVYepIlVuj+I7zAI nHL9nv1t32jITFudD0DI9bNz7tUwo17i+oXbYsxnsTcjbbwkTUVoNs3H6Gib37S/M7Ep Lypp8/MbpR0xiD3dXB2Mu4LR60yK+EPTIDZ+cAAYWN7Eul0qkt+5zqzU8NhANQWmb33N lFJCXg9yXaFBz7XaCv06J9248bdShCkwhpUNp7AZgGLEyLBEs9QqG099Kjs1IEKJ1NTs /WrA== X-Gm-Message-State: AOAM5326ZmXh6b2mmshg7cD+s6bFX278ZNUchZ1uyfoTsHzmfvS/tZH3 SfbrI0qYmTFvKJUmFW9F4dQF5B2nOKRu+wTkq8mCYXjOaZtAWQ== X-Google-Smtp-Source: ABdhPJyaVGVhNmQMdfKp0/Zw8Ve0ZBrcQ8aKErF61v9M3qIF6zCDrG/nIYFJtJbet4tYWr7Jq3/PijCSBWH6kHyTCG0= X-Received: by 2002:aca:808:: with SMTP id 8mr6479924oii.84.1613338725902; Sun, 14 Feb 2021 13:38:45 -0800 (PST) MIME-Version: 1.0 References: <14ce37b2-35ca-6002-474a-7de5d6626a66@eastlink.ca> <05c3d2ba-6a00-9480-e2a8-685432e2442c@eastlink.ca> <20210214173138.GA2298446@zira.vinc17.org> <20210214211922.GA2302738@zira.vinc17.org> In-Reply-To: <20210214211922.GA2302738@zira.vinc17.org> From: Bart Schaefer Date: Sun, 14 Feb 2021 13:38:34 -0800 Message-ID: Subject: Re: detect pipe To: Zsh Users Content-Type: text/plain; charset="UTF-8" X-Seq: 26519 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: Archived-At: On Sun, Feb 14, 2021 at 1:19 PM Vincent Lefevre wrote: > > Note also that something like > > { cat < file } <&- > > is OK (the <&- is useless here, but there might be cases where this > could be useful). I suppose ... | { exec <&- ; ... } is useful for causing the upstream pipeline to get SIGPIPE and exit, without waiting for the rest of the shell construct to finish. Still, that means the (previously) defined behavior is that anything spawned by the rest of that construct has its stdin closed, so it still would make more sense to require (syntactically enforce) { exec