【发布时间】:2014-11-19 04:41:39
【问题描述】:
所以我在玩终端机。
有人可以向我解释如何通过将程序的二进制文件放入我的 PATH 来安装程序。
我假设我去 $PATH/ --Binary--
如果是上述情况,
1) 为什么会这样安装程序?
2) 是否有一种标准化的方法可以找到“下载”二进制文件?
我确信有更好的安装程序的方法。不过,我对这种特定方法很感兴趣。
提前感谢您的帮助。
【问题讨论】:
标签: macos command-line path terminal
所以我在玩终端机。
有人可以向我解释如何通过将程序的二进制文件放入我的 PATH 来安装程序。
我假设我去 $PATH/ --Binary--
如果是上述情况,
1) 为什么会这样安装程序?
2) 是否有一种标准化的方法可以找到“下载”二进制文件?
我确信有更好的安装程序的方法。不过,我对这种特定方法很感兴趣。
提前感谢您的帮助。
【问题讨论】:
标签: macos command-line path terminal
PATH 是一个shell 变量,它告诉shell 可以在哪里找到程序。它是查找可执行程序和脚本的位置列表,以冒号 (:) 分隔。例如:
PATH=/bin:/sbin:/usr/local/bin
因此,当您通过键入以下内容运行程序时:
program
shell 首先查找/bin,然后查找/sbin,依此类推,直到找到program,然后运行。
因此,如果您想安装二进制文件(或程序或脚本),只需将其放在 PATH 中的任何位置即可。或者把它放在一些新的,而不是你的 PATH 上,然后改变你的 PATH 来告诉 shell 你把它放在哪里。
一般来说,您可能希望在您的登录配置文件中设置您的 PATH,这可能是 ~/.profile 或其他位置,以便在您每次登录时设置它。为此,添加如下一行:
export PATH=$PATH:/some/additional/place
如果你想知道当你键入时哪个是实际运行的程序
program
你可以跑
which program
例如,如果您想知道您正在运行哪个sed,请键入
which sed
它可能会告诉你一些类似的东西
/usr/bin/sed
关于您的第二个问题,关于standard downloads area,我不确定您是指查找二进制文件的标准位置,还是安装它们的标准位置。没有standard downloads 区域来获取二进制文件,尽管对于Mac OSX,很多人使用homebrew 或macports。如果您指的是放置它们的标准位置,则通常将不是来自操作系统作者的软件安装到/usr/local/bin,以便所有本地二进制文件与操作系统本身发布的二进制文件分开。
【讨论】:
/usr/local/bin目录是否也适用于下载必须构建的软件?如果是这样,我们应该将整个未解压的根目录存储在那里,还是只存储生成的二进制文件?如果下载已经有bin目录,我们应该将bin目录存放在/usr/local/bin还是整个下载的解压目录?
/usr/local/bin 中。通常,您会在其他地方构建它,然后将生成的二进制文件复制到/usr/local/bin(可能使用install 工具)或将包含二进制文件的目录添加到您的PATH。
/Users/username/Development/Tools 中的所有内容,而且我不确定这是否是最佳做法。
bin 文件夹的东西,可执行文件和其他文件都在那里,我应该把这样的东西放在哪里?
$HOME/bin。如果它是带有Makefile 和configure 脚本的知名包,您可能希望将其配置为进入/usr/local/bin 并执行make install。