在 Mac OS X Lion 上设置环境变量

2024-03-29

当有人说“编辑你的 .plist 文件”或“你的 .profile”或“.bash_profile”等时,这让我很困惑。我不知道这些文件在哪里,如果必须这样做的话如何创建它们等等,也不知道为什么似乎有这么多不同的文件(为什么?它们做不同的事情吗?)

那么,有人可以非常耐心地向以前的 Windows 用户(非常想更加熟悉这个愉快的、虽然最初有点令人困惑的 OS X 世界)解释如何一步一步地做到这一点吗?

我需要为 GUI 应用程序和命令行应用程序设置变量,目前是需要这些变量的 ant 脚本,但很可能还有其他需求。

请注意,我也有 Lion,因为你在 Google 上搜索得到的许多答案对于 Lion 来说似乎已经过时了……

另请注意,我使用终端的经验几乎为零。我愿意学习,但请为新手解释一下......


首先,关于 OS X 需要认识到的一点是它是建立在 Unix 之上的。这就是 .bash_profile 的用武之地。当您在 OS X 中启动终端应用程序时,默认情况下您会获得一个 bash shell。 bash shell 来自 Unix,加载时会运行 .bash_profile 脚本。您可以修改此脚本,以便您的用户更改您的设置。该文件位于:

~/.bash_profile

小牛队更新

OS X Mavericks 不使用environment.plist - 至少对于OS X Windows 应用程序不使用。您可以使用启动配置 https://stackoverflow.com/a/588442/650176对于窗口应用程序。 .bash_profile 仍然受支持,因为它是终端中使用的 bash shell 的一部分。

仅限狮子和山狮

OS X 窗口应用程序从environment.plist 文件接收环境变量。这可能就是“.plist”文件的意思。该文件位于:

~/.MacOSX/environment.plist

如果您对environment.plist文件进行更改,则OS X Windows应用程序(包括终端应用程序)将设置这些环境变量。您在 .bash_profile 中设置的任何环境变量只会影响您的 bash shell。

一般来说,我只在 .bash_profile 文件中设置变量,而不更改 .plist 文件(或 Mavericks 上的 launchd 文件)。大多数 OS X 窗口应用程序不需要任何自定义环境。仅当应用程序实际需要特定环境变量时,我才会更改environment.plist(或Mavericks 上的launchd 文件)。

听起来您想要的是更改environment.plist 文件,而不是.bash_profile。

最后一件事,如果你寻找这些文件,我想你不会找到它们。如果我没记错的话,它们并不在我最初安装的 Lion 中。

Edit:以下是创建 plist 文件的一些说明。

  1. 打开Xcode
  2. 选择文件 -> 新建 -> 新建文件...
  3. 在 Mac OS X 下选择资源
  4. 选择一个plist文件
  5. 按照其余提示操作

要编辑文件,您可以按住 Control 键单击以获取菜单,然后选择“添加行”。然后您可以添加键值对。对于环境变量,键是环境变量名称,值是该环境变量的实际值。

创建 plist 文件后,您可以使用 Xcode 打开它,以便随时修改它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Mac OS X Lion 上设置环境变量 的相关文章

随机推荐

  • 为什么 sockJS 将“/info”添加到给定的 websocket url 路径

    我想打开一个带有 webapp socket do 路径的 websocket 端口 当我使用 SockJS 并尝试通过代码发起调用时 var socket new SockJS webapp socket do stompClient S
  • sizeof(*ptr) 和 sizeof(struct) 之间的区别

    我尝试了以下程序 struct temp int ab int cd int main int argc char argv struct temp ptr1 printf Sizeof struct temp d n sizeof str
  • Safari 中的 CSS 间距问题?

    我为我的最新项目制作了一个基于列表的导航栏 并在导航的每一侧添加了两个信息栏 它在 Firefox 和 IE 中的表现符合预期 但奇怪的是 Safari 却表现不佳 它在导航栏和右侧信息栏之间留出了很大的空间 CSS body backgr
  • Laravel 雄辩的变异器不适用于更新数据

    我的模型中有用于数据库表字段中的哈希 重新哈希数据的访问器和修改器 例如 public function setFullNameAttribute value this gt attributes full name Helper gete
  • 安装nodejs npm 和 grunt 出现错误

    我不熟悉 Python NodeJS NPM 或 Grunt 但我需要安装它 因为我想尝试一下Github项目 https github com raphaelluchini popcorntime smarttv 我从 node org
  • 如何在 AppFog 中使用 Apache 提供静态内容(WSGI Python 应用程序)

    我在用着AppFog http www appfog comPaaS 系统使用了几天 我喜欢它 它可能是我测试过的最好的 PaaS 系统 我之前使用过其他 3 个 但没有找到有关如何使用 Web 服务器提供静态内容的信息在前端 Apache
  • 从地图中获取一段键

    有没有更简单 更好的方法从 Go 中的映射中获取键的切片 目前我正在迭代地图并将键复制到切片 i 0 keys make int len mymap for k range mymap keys i k i 这是一个老问题 但这是我的两分钱
  • 在 C# 中获取特定时区的日期时间时出现 System.TimeZoneNotFoundException 错误

    我有一个 JSON 文件 其中包含time zone范围 它的值如下London Casablanca Arizona Pacific Time US Canada 等 基于time zone 我想得到DateTime该时区的结果 例如 C
  • Ubuntu 17.04 上 sudo apt-get 更新失败

    运行时sudo apt get update在 ubuntu 17 04 Zesty Zapus 上 我收到以下错误 我已经在错误行上发布了 我想安装 python 库 如 matplotlib 和 tkinter 但由于上述命令未成功运行
  • CSS 文件和不需要的覆盖

    我有一个简单的 HTML 页面 它引用了 3 个 CSS 文件 第一个是仅适用于页面的样式表 另外两个是针对两个独特情态动词的样式 这些模态 CSS 文件不是我创建的 它们很高兴被使用分别地在整个网站的其他页面上 我的问题是 这两个模态 C
  • 1-2 秒后暂停 YouTube 视频

    我正在使用 Youtube Player api 在我的应用程序中播放 YouTube 视频 视频开始播放并在 1 2 秒后暂停 我创建了视频片段和视图组 随后我创建了一些 youtobe 视频视图 视频片段 public static f
  • OpenCV 中 minEnclosureCircle 的意外结果

    我最近使用了 OpenCV 2 4 2 的函数 minEnendingCircle 因为我需要测量一团点的直径 一段时间后 我意识到结果不正确 因此我决定编写一个小例程来计算一组非常小的点的直径 我测试了该函数 1个单点 连续2 4分 仅由
  • 保留一个新对象而无需获取关联

    我在广告实体中有以下映射 class Ad Id Column name id unique true nullable false GeneratedValue strategy GenerationType SEQUENCE gener
  • 实现 ActiveRecord before_find

    我正在使用缓存在表中的关键字构建搜索 在表中查找用户输入的关键字之前 它会被标准化 例如 删除了一些标点符号 如 并对大小写进行了标准化 然后使用规范化的关键字来查找获取搜索结果 我目前正在使用 before filter 处理控制器中的标
  • 导入 React-Router-Dom 后 React App 变为空白

    导入前react router一切正常 现在它构建成功但显示空白页面 这是我的代码 App js import ReactDOM from react dom client import BrowserRouter Routes Route
  • 如何调查 imp.load_module 上的 python2 段错误

    我正在尝试安装和使用dolfin https aur archlinux org packages dolfin bzr 在 Arch Linux 上 使用 Python 2 7 3 找出导致分段的原因的最佳方法是什么 诸如此类的故障 py
  • 无法获取在Firebase存储中上传的图像的实际下载网址[重复]

    这个问题在这里已经有答案了 我正在尝试获取上传到 firebase 数据库的图像的下载网址 但任务Uri imageURL storageReference getDownloadUrl 没有给出存储在 firebase 存储中的图像的实际
  • 实体框架 4 Single() vs First() vs FirstOrDefault()

    我花了很长时间寻找查询单个项目的不同方法的比较 以及何时使用每种方法 有谁有一个比较所有这些的链接 或者一个关于为什么你会使用其中一个而不是另一个的快速解释 还有更多我不知道的运营商吗 谢谢 以下是不同方法的概述 Find 当您想通过主键获
  • 如何对 Flask 应用程序进行守护进程?

    我有一个使用 Flask 用 Python 编写的小应用程序 现在我正在 nohup 下运行它 但我想将它守护进程化 这样做的正确方法是什么 部署 Flask 项目有多种方式 http flask pocoo org docs deploy
  • 在 Mac OS X Lion 上设置环境变量

    当有人说 编辑你的 plist 文件 或 你的 profile 或 bash profile 等时 这让我很困惑 我不知道这些文件在哪里 如果必须这样做的话如何创建它们等等 也不知道为什么似乎有这么多不同的文件 为什么 它们做不同的事情吗