想通过命令行启动sublime 到subl的目录下去启用subl,结果提示找不到命令,求指点
./subl
windows会把当前路径加到$PATH
里,而Mac/Linux不会,因为这是万恶之缘。不在$PATH
里的程序不能执行,在$PATH
里的无x
权限的程序不能执行。
运行非PATH
内的可执行文件,你需要加上相对
或者绝对
路径
不加任何路径的命令,会在shell的built-in
命令以及环境变量PATH
所指定的路径中查找,显然你要执行的命令,不在这两个列表中
题中例子,可以使用
cd /Applications/.../bin
./subl
或者在任意目录
/Applications/.../bin/subl
注意上面说了是运行非PATH
内的可执行文件,如果想不加相对或者绝对路径,还有一种办法,就是把这个路径加入PATH
变量中
export PATH=$PATH:/Applications/.../bin
# 在任意目录可以这样运行
subl
或者,把当前目录加入PATH
变量中
export PATH=$PATH:.
# 执行当前目录下的可执行文件,也可以直接输入文件名运行
cd /Applications/.../bin
subl
补充一下,一般PATH中包含的/usr/local/bin
路径比较适合放置这类用户程序,可以sudo ln -s ..../bin/subl /usr/local/bin/
来将subl命令加入path而无需修改$PATH变量(每个程序都改$PATH变量的话很快$PATH就长到无法维护了)