首页 > mac命令行问题

mac命令行问题

想通过命令行启动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就长到无法维护了)

【热门文章】
【热门文章】