这里说的不是设置变量给bash/shell来用, 而是给程序使用, 比如, chromium自36版以后, 就不再内置google api keys, 官方文档(http://www.chromium.org/developers/how-tos/api-keys)说明你打包的时候没有添加key的话, 可以在runtime添加, 比如在系统的环境变量里添加进去.

Providing Keys at Runtime
If you prefer, you can build a Chromium binary (or use a pre-built Chromium binary) without API keys baked in, and instead provide them at runtime. To do so, set the environment variables GOOGLE_API_KEY, GOOGLE_DEFAULT_CLIENT_ID and GOOGLE_DEFAULT_CLIENT_SECRET to your "API key", "Client ID" and "Client secret" values respectively.

至于key哪来的请自行google, 我们不去申请key的话, 还是拿来主义:

export GOOGLE_API_KEY="AIzaSyCkfPOPZXDKNn8hhgu3JrA62wIgC93d44k"
export GOOGLE_DEFAULT_CLIENT_ID="811574891467.apps.googleusercontent.com"
export GOOGLE_DEFAULT_CLIENT_SECRET="kdloedMFGdGla2P1zacGjAQh"

关于如何在mac上设置环境变量, 有这么一篇雄文: http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-terminal-only/, 我一般是直接编辑~/.bash_profile文件, 这次不生效了, 改来改去都没用, 于是换关键词, yosemite/el captain下如何设置环境变量, 立刻就有答案了:http://stackoverflow.com/questions/25385934/setting-environment-variables-via-launchd-conf-no-longer-works-in-os-x-yosemite

头两个答案都可以, 第一个是恢复了setenv VARIABLENAME=VALUE这种语法, 第二个是直接在一个文件里编辑, 然后使之生效, 我直接用了第二种, 因为文本随时可编辑, 可查看

1, Create an environment.plist file in ~/Library/LaunchAgents/ with this content:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>Label</key><string>my.startup</string><key>ProgramArguments</key><array><string>sh</string><string>-c</string><string>launchctl setenv GOOGLE_API_KEY AIzaSyCkfPOPZXDKNn8hhgu3JrA62wIgC93d44klaunchctl setenv GOOGLE_DEFAULT_CLIENT_ID 811574891467.apps.googleusercontent.comlaunchctl setenv GOOGLE_DEFAULT_CLIENT_SECRET kdloedMFGdGla2P1zacGjAQh</string></array><key>RunAtLoad</key><true/>
</dict>
</plist>

2, You can add many launchctl commands inside the <string></string> block.可见, 我们只需要在string标签里写需要的内容就行了, 本例是一系列google api keys.

3, The plist will activate after system reboot. You can also use launchctl load ~/Library/LaunchAgents/environment.plist to launch it immediately.

转载于:https://www.cnblogs.com/walkerwang/p/5136718.html

el captain设置环境变量相关推荐

  1. 环境变量 env 设置 c语言 头文件,CentOS 设置环境变量

    1. 查看环境变量,echo 命令用于在终端输出字符串或变量提取后的值,格式为"echo [字符串 | $变量]" echo $PATH /usr/local/bin:/usr/b ...

  2. Python 标准库之 os (获取当前目录、读取/设置环境变量、重命名文件、运行shell命令、创建/删除/查看目录文件、判断目录/文件/存在、获取绝对路径、获取文件名、获取换行符、获取路径分隔符)

    1. os与sys模块的官方解释如下: os This module provides a portable way of using operating system dependent funct ...

  3. windows通过脚本批量设置环境变量(env、path)实战:java环境、scala环境、maven环境、gradle环境、nodejs、git等

    windows通过脚本批量设置环境变量(env.path)实战:java环境.scala环境.maven环境.gradle环境.nodejs.git等 目录

  4. 在Java程序设计中,设置环境变量path和classpath的作用分别是什么?

    在Java程序设计中,设置环境变量path和classpath的作用分别是什么? asd79308 10级  分类: 编程开发  被浏览344次  2013.07.22 额,你这问题问的有够" ...

  5. 在Linux里设置环境变量的方法(export PATH)

    在Linux里设置环境变量的方法(export PATH) 在Linux里设置环境变量的方法(export PATH) 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量 ...

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

    当有人说"编辑您的.plist文件"或"您的.profile"或" .bash_profile"等时,这让我感到困惑. 我不知道这些文件在哪 ...

  7. linux docker run 设置环境变量

    使用-e选项设置的docker容器环境变量 docker run -e "EmailServer=192.168.0.1" myimage 对应.netcore应用程序,设置 AS ...

  8. 7.11.4 第一个程序 设置环境变量

    102HelloWorld 第一个Java程序 hello,World! 打开一个记事本在记事本里面输入以上代码,注意书写正确: public class Demo1{public static vo ...

  9. Linux(Ubuntu)设置环境变量(转载)

    Linux(Ubuntu)设置环境变量(转载) http://blog.csdn.net/wumingxing0228/article/details/6050175 环境变量是和Shell紧密相关的 ...

最新文章

  1. 【解决方法】你已从聊天服务器断开,正在尝试重新连接
  2. ArrayList与LinkedList区别
  3. 在实习面试的过程的当中,常见的面试题(自己面试一路走来,所出现的频率较高的面试题总结)
  4. 一个帮助Java开发者快速学会Kotlin的开源项目
  5. Java项目转变为Java Web项目
  6. 别人运行的好好的R代码,到我这怎么就冲突了?
  7. tomcat 热部署 生产环境_Tomcat:热部署新的jar
  8. 深度优先搜索之图的表示方法
  9. Java Lambda 表达式快速学习
  10. 现代ups电源及电路图集_不间断电源维修,服务靠谱
  11. 2018年度报告单_2018年度最佳在线IT课程
  12. spark启动的worker节点是localhost_「Spark源码分析1」Spark standalone模式Master和Worker启动流程...
  13. c语言51单片机rrc,MCS-51单片机汇编指令详解
  14. BAT等互联网公司薪资分享
  15. 第1关:ZooKeeper初体验
  16. 仿抖音上下滑动列表播放短视频解决方案
  17. SAP MM模块业务流程------物料主数据/供应商主数据/信息维护流程/库存物料采购流程
  18. rancher/ui 路由资源对应表
  19. 【CS231n系列】
  20. DNA非编码区,外显子,内含子突变区别

热门文章

  1. .Net学习(二):vb.net总结之似曾相识
  2. 吴恩达团队新研究!用MRNet进行膝关节磁共振影像诊断 已媲美医生 | 论文
  3. Hadoop学习之路(十六)Hadoop命令hadoop fs -ls详解
  4. Linux bind DNS配置
  5. HTML5 —— 属性
  6. #import和@class 的区别
  7. 老徐FrankXuLei受邀为花旗银行讲授《微软WCF服务分布式开发与SOA架构设计课程》...
  8. CSS3下的渐变文字效果实现
  9. 把你的火狐浏览器改成Chrome样式
  10. 省级刊物发表有什么要求?需注意什么事项?