应用程序和命令之间有什么区别?例如,关于which
命令。两者都是/包含可执行文件。
OSX中的一些可执行文件是'命令'旨在从命令行运行(例如cat,less,python)。其他可执行文件包含在应用程序包中(预览,空闲)。这两者之间是否有任何逻辑差异?
一方面,OS X中的unix which
命令似乎这样认为:
当我在OSX终端中使用which
命令时,我希望能够找到我的应用程序(例如)Preview.app。
但以下两种情况都不会产生任何结果:
$which Preview
$which Preview.app
但
$which python
确实会回来
/usr/bin/python
但另一方面,这种排除应用程序和包含命令似乎是随意的。运行Idle
(应用)和python
的结果几乎相同。
应用程序和命令之间的区别仅仅是传统吗?即/ Applications文件夹传统上没有被放入PATH
变量,但没有理由不包含它?
答案 0 :(得分:1)
which
告诉你命令所运行的东西在哪里。如果命令没有正常运行,which
无法告诉你 - 例如,当我在命令行中输入Preview
时没有任何反应 - 这就是为什么which
不返回任何原因为了它。
从Man页面中找到:
which
实用程序获取命令名列表,并搜索实际调用这些命令时将运行的每个可执行文件的路径。