Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 应用程序和命令之间有什么区别?_Macos_Command Line_Terminal_Path - Fatal编程技术网

Macos 应用程序和命令之间有什么区别?

Macos 应用程序和命令之间有什么区别?,macos,command-line,terminal,path,Macos,Command Line,Terminal,Path,应用程序和命令之间有什么区别?e、 g关于哪个命令。两者都是/包含可执行文件 OSX中的一些可执行文件是设计用于从命令行运行的“命令”(例如cat、less、python)。其他可执行文件包含在应用程序包中(预览、空闲)。这两者在逻辑上有什么不同吗 一方面,OS X中的unix命令似乎是这样认为的: 当我在OSX终端中使用which命令时,我希望能够找到我的应用程序(例如)Preview.app。 但以下两项都不会返回任何结果: $which Preview $which Preview.app

应用程序和命令之间有什么区别?e、 g关于
哪个
命令。两者都是/包含可执行文件

OSX中的一些可执行文件是设计用于从命令行运行的“命令”(例如cat、less、python)。其他可执行文件包含在应用程序包中(预览、空闲)。这两者在逻辑上有什么不同吗

一方面,OS X中的unix
命令似乎是这样认为的:
当我在OSX终端中使用
which
命令时,我希望能够找到我的应用程序(例如)Preview.app。 但以下两项都不会返回任何结果:
$which Preview

$which Preview.app

但是
$which python

是否返回
/usr/bin/python

但另一方面,这种排除应用程序和包含命令的做法似乎是任意的。运行
Idle
(应用程序)和
python
的结果几乎相同


应用程序和命令之间的区别仅仅是传统吗?i、 e./Applications文件夹传统上没有被放入
路径
变量中,但是没有理由不包含它?

,它告诉您通过命令运行的东西所在的位置。如果命令没有正常运行任何内容,
它不能告诉您相关信息-例如,当我在命令行中键入
Preview
时,什么也不会发生-这就是为什么
它不会返回任何内容的原因

从手册页,其中:

which
实用程序获取命令名列表,并搜索在实际调用这些命令时将运行的每个可执行文件的路径


它与您正在考虑的应用程序类型无关。我不知道你是从哪里得到这个印象的。这是关于命令的,是的,它依赖于路径。Ken我认为这很接近:应用程序和命令不一样。它们之间的区别仍然让我无法理解。两者都是或包含可执行文件,都可以执行简单任务或更复杂的任务,例如调用环境/解释器。在命令提示符下键入
python
,结果与运行python附带的Idle.app非常相似。这个例子似乎跨越了命令和应用程序。你不应该从命令行运行大多数捆绑应用程序。你可以这样做,但可能会有不良副作用。例如,在应用程序中运行可执行文件始终会创建应用程序的新实例。并非所有应用程序都能处理同时运行的多个实例。此外,很少有应用程序在命令行上是交互式的,向stdout生成有用的输出,或者通过stdin获取输入。您可能正在寻找该命令吗?将
/Applications
放在
路径中不会有帮助。应用程序包的可执行文件被嵌入其中,通常位于
Foo.app/Contents/MacOS/Foo
。仅在
路径中列出的目录中立即搜索命令,而不是在其子目录中。
/Applications
中通常不会立即出现任何命令。我认为这是真的,但它没有解释原因。是因为预览根本不在路径中吗?还是因为它是一个应用程序,而不是一个命令?