linux 在zsh中PATH环境可以有一个相对路径吗?

xkftehaa  于 2023-03-29  发布在  Linux
关注(0)|答案(1)|浏览(130)

例如,我有很多不同的nodejs项目,它们有不同的包版本。我想让./node_modules/.bin添加到PATH中,这样我就可以轻松地在当前目录下执行包。
我正在使用zsh,我很乐意尝试一些复杂的解决方案(例如,当遇到command not found错误时,可能会注册一个函数来尝试在相对目录下查找该命令)

nbnkbykc

nbnkbykc1#

是的,这是可能的。你已经可以将当前目录(.)添加到你的PATH(但这通常是一个坏主意)。既然.可以工作,为什么其他相对路径不能呢?
下面是一个演示,展示了这确实有效:

$ mkdir scripts
$ cat <<EOF > scripts/hello
> #!/bin/sh
> echo 'hello!'
> EOF
$ chmod +x scripts/hello
$ PATH="$PATH:scripts"
$ hello
hello!
$ cd scripts
$ hello
bash: scripts/hello: No such file or directory
$ cd /tmp
$ hello
bash: scripts/hello: No such file or directory

相关问题