此命令在 Mac OS X 中起什么作用?

此命令在 Mac OS X 中起什么作用?

可能重复:
什么是 PATH 和其他环境变量?如何设置或使用它们?

export PATH="/Users/your_user/scala/bin:$PATH"

我知道我需要这样做来设置某些应用程序,但我不明白它到底起什么作用。

它如何让应用程序运行起来?

答案1

大多数情况下,当您通过图形用户界面运行程序时,您会双击与程序文件关联的图标。

但是,有时您需要(或更喜欢)通过在命令 shell(Mac OS X 上的终端)中输入程序名称来运行程序。当您这样做时,shell 会查找具有该名称的程序文件,如果找到,则运行它。 是PATH一个变量,它告诉 shell 在哪里查找。

在 Unix 系统上,通常所有程序文件(无论它们来自哪个软件包)都放在一个目录中。/usr/bin(这并不完全正确,因为还有 等/usr/local/bin,但现在这并不重要。)并且PATH最初设置为/usr/bin,这样当您想要运行程序时,无论您在哪个目录中,如果您键入fooprogram,shell 都会立即在 中查找它/usr/bin,如果找到,则运行它。如果没有此功能,shell 将仅限于在当前目录中查找(这意味着您必须始终在程序目录中才能运行任何内容),或者在文件系统中的每个目录中查找(这将需要很长时间)。

可以将多个目录(用 : 字符分隔)添加到 PATH 变量,以便按顺序搜索所有目录。这是您的命令

导出 PATH="/Users/your_user/scala/bin:$PATH"

做。

您刚刚在 中安装了一个软件包,其中包含一些程序文件/Users/your_user/scala。按照惯例,程序文件位于bin子目录中。因此,为了允许您直接从命令 shell 运行这些程序,您需要添加/Users/your_user/scala/bin以便 shell 也在那里查找。$PATH代表 的现有值PATH,因此如果PATH最初是/usr/bin,现在就是/Users/your_user/scala/bin:/usr/bin。顺序很重要,因此如果/Users/your_user/scala/bin和都/usr/bin包含名为 的程序文件scala_prog,它将运行第一个。

export是一个命令,它使得这个新值PATH在您之后运行命令 shell 时可用。

您(用户)可能不会真正从命令 shell 运行 scala 程序文件,但 scala 包本身可能需要从其自己的 shell 脚本中运行。在这种情况下,shell 脚本将尝试仅使用程序名称来运行程序,因此需要PATH正确设置,就像您在命令 shell 提示符下键入它一样。

答案2

这是 Unix 命令,用于设置命令执行的搜索顺序。如果您输入位于 /Users/your_user/scala/bin 下的命令的名称,它将被执行。如果您没有输入该命令,则需要提供命令的完整路径名才能运行它。

相关内容