zsh-users
 help / color / mirror / code / Atom feed
From: Ray Andrews <rayandrews@eastlink.ca>
To: zsh-users@zsh.org
Subject: Re: detect pipe
Date: Wed, 27 Jan 2021 20:57:36 -0800	[thread overview]
Message-ID: <1b788ada-9c70-78e5-cc2c-1943000f2994@eastlink.ca> (raw)
In-Reply-To: <CAH+w=7b=OmLb7+cbr0uFSgKay6yJksfbWyxD5WAVjXrrq3RAMw@mail.gmail.com>

On 2021-01-27 3:59 p.m., Bart Schaefer wrote:
> [[ -p /dev/fd/0 ]]
Nuts, using that it turns out that the issue is that my functions tend 
to be called via aliases:

     alias test2='noglob test1'

    test1 ()
    {
         if [[ -p /dev/fd/0 ]]; then
             echo "PIPES ARE AS BAD AS CIGARETTES"
             grep --color=always "$1"
         else
             echo "NO, THEY AREN'T"
             grep --color=always "$1" "$2"
         fi
    }


Testing it:

    $ . test; echo "Now is the time for all good men" | test1 'the time'
    PIPES ARE AS BAD AS CIGARETTES
    Now is the time for all good men

    $ . test; echo "Now is the time for all good men" | test2 'the time'
    NO, THEY AREN'T
    grep: : No such file or directory

    $ . test; test1 'the time' junk    # junk contains the same string
    NO, THEY AREN'T
    Now is the time for all good men

    $ . test; test2 'the time' junk
    NO, THEY AREN'T
    Now is the time for all good men

... so the pipe test is fooled by the alias. Strange tho that it used to 
work and still does *sometimes*.  Very flaky. Dunno why an alias would 
... well that's just it, I don't know.





  reply	other threads:[~2021-01-28  4:58 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-27 16:45 Ray Andrews
2021-01-27 23:59 ` Bart Schaefer
2021-01-28  4:57   ` Ray Andrews [this message]
2021-01-28  6:16     ` Bart Schaefer
2021-01-28 10:08     ` Vincent Lefevre
2021-01-28 10:28       ` Vincent Lefevre
2021-01-28 15:05         ` Ray Andrews
2021-01-28 15:45           ` Ray Andrews
2021-01-28 20:58             ` Bart Schaefer
2021-01-28 20:59               ` Bart Schaefer
2021-01-29  1:17               ` Ray Andrews
2021-01-29  2:50                 ` Bart Schaefer
2021-01-29  3:21                   ` Ray Andrews
2021-01-30  0:29                     ` Bart Schaefer
2021-01-30 14:26                       ` Ray Andrews
2021-01-30 19:00                         ` Bart Schaefer
2021-01-30 19:19                           ` Ray Andrews
2021-01-31 19:12                             ` Ray Andrews
2021-01-31 21:28                               ` Bart Schaefer
2021-02-14 17:31                           ` Vincent Lefevre
2021-02-14 19:33                             ` Bart Schaefer
2021-02-14 20:33                               ` Ray Andrews
2021-02-14 21:20                                 ` Bart Schaefer
2021-02-14 22:25                                   ` Ray Andrews
2021-02-14 21:24                                 ` Vincent Lefevre
2021-02-14 21:19                               ` Vincent Lefevre
2021-02-14 21:24                                 ` Bart Schaefer
2021-02-14 21:38                                 ` Bart Schaefer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1b788ada-9c70-78e5-cc2c-1943000f2994@eastlink.ca \
    --to=rayandrews@eastlink.ca \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).