help-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Check existence but not dereference symlink


From: Alex fxmbsw7 Ratchev
Subject: Re: Check existence but not dereference symlink
Date: Sat, 27 Mar 2021 14:33:52 +0100

i see, good catch, sorry for my errors

On Sat, Mar 27, 2021, 13:19 Andreas Kusalananda Kähäri <
andreas.kahari@abc.se> wrote:

> On Fri, Mar 26, 2021 at 10:55:05PM +0100, Alex fxmbsw7 Ratchev wrote:
> > and [[ -e doesnt dereference
>
> It does dereference symbolic links:
>
>         $ touch file
>         $ ln -s file link
>         $ ls -l
>         total 0
>         -rw-r--r--  1 myself  wheel  0 Mar 27 13:13 file
>         lrwxr-xr-x  1 myself  wheel  4 Mar 27 13:14 link -> file
>         $ [[ -e link ]] && echo exists
>         exists
>         $ rm file
>         $ [[ -e link ]] && echo exists
>         $ [[ -h link ]] && echo is link
>         is link
>
> > you specify a not non existing position so it returns true
>
> I don't understand what you want to say with this.
>
> Also please consider collecting your replies in longer coherent messages
> rather than firing off a stream of consiousness in two line chunks per
> message.
>
> Regards,
>
> >
> > On Fri, Mar 26, 2021 at 10:20 PM Peng Yu <pengyu.ut@gmail.com> wrote:
> > >
> > > Hi,
> > >
> > > ln -s 1.txt a.txt
> > > [[ -a a.txt ]]; echo $?
> > > 1
> > > [[ -e a.txt ]]; echo $?
> > > 1
> > >
> > > [[ -e path ]] and [[ -e path ]] will deference symlink. If the target
> > > does not exist, it will return an error.
> > >
> > > I want to check the existence of a path without dereferencing symlink.
> > > I come up with this, but it is a little verbose. Is this the best way
> > > to do so?
> > >
> > > [[ -f path || -h path || -d path ]]
> > >
> > > --
> > > Regards,
> > > Peng
> > >
>
> --
> Andreas (Kusalananda) Kähäri
> SciLifeLab, NBIS, ICM
> Uppsala University, Sweden
>
> .
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]