Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATH_DIRS



Hi Ray,(Sorry if you get this twice, forgot to send to list the first time.)

On Mon, Aug 14, 2017 at 10:53 PM, Ray Andrews <rayandrews@xxxxxxxxxxx>
wrote:

> On 13/08/17 08:20 PM, Bart Schaefer wrote:
>
>> With PATH_DIRS set, you can run ". myscript"
>> with or without that executable permission on the file (it need only be
>> readable).
>>
>
> Then how do I get these results?:
>
> /aWorking/Zsh/Source 3$ unsetopt pathdirs        # This directory is not
> on the path
>
> /aWorking/Zsh/Source 3$ chmod -x ../System/somescript      # Referring
> here to somescript which is on the path.
>
>
> snip ...

>
> ... what am I doing wrong


Nothing, as far as I can tell.  I believe it is your point of view what
PATH_DIRS is doing.  As long as "somescript" is in your PATH,
I don't believe PATH_DIRS is doing much if anything.

Try the following to understand what PATH_DIRS can do:

  mkdir ../System/Subdir
  mv ../System/somescript ../System/Subdir
  unsetopt pathdirs
  . Subdir/somescript       # script should not run
  setopt pathdirs
  . Subdir/somescript       # should see output from script

I believe from reading the man page, this is what PATH_DIRS is
intended to do.  As Bart said, it *uses* PATH. If you +x somescript
you can just type:

  Subdir/somescript

At least this is how I interpreted what PATH_DIRS, as defined in the man
page, does.  "Perform a path search even on command names with
slashes in them."  Maybe it should say, "In addition to the normal path
search, preform a path search on command names with slashes in them."
Maybe I'm missing some other case use.

Hope this helps.

Jim


Messages sorted by: Reverse Date, Date, Thread, Author