in reply to Re^2: This is not a pipe
in thread This is not a pipe

-p is a test operator, so your expression is more or less equivalent to a question: "Is _ (=this) not a pipe?".

At least in Unix, '|' is not a valid filename, so -p '|' will always be false: "Is '|' a pipe? No.". So the ASCII representation of a pipe, '|', is never a pipe itself, which is exactly what Magritte meant with his painting.

Replies are listed 'Best First'.
Re^4: This is not an illegal filename
by ChemBoy (Priest) on Mar 14, 2005 at 05:14 UTC

    I've seen this assertion several times now, though the last time was a while ago. It hasn't gotten any more correct in the interim.

    $ touch \| $ file !$ file \| |: empty $ ls -l \| -rw-r--r-- 1 chemboy users 0 Mar 14 00:09 |

    That, for the record, was on Gentoo Linux on a G4, but similar results can be readily obtained on other platforms.



    If God had meant us to fly, he would *never* have given us the railroads.
        --Michael Flanders

      Thanks. I should have checked that.

      I probably meant: '|' is unlikely to be a pipe.