当前位置: 首页 > 知识库问答 >
问题:

在OSX 10.9 mavericks下为RStudio(和其他GUI应用程序)声明路径

云宜人
2023-03-14

ex1

system("echo $PATH", intern=FALSE)
# this returns a very short PATH without any of my privately declared ones

ex2

system("bowtie --help", intern=TRUE)
# does not find bowtie while it is there all right and the same call works under R cli

这似乎是因为RStudio作为一个GUI应用程序,没有继承我的. profile/. bashrc中定义的完整PATH

我找到了许多与旧mac系统相关的帖子,并为特立独行者组装了一个解决方案。我尝试了在OS X中设置环境变量的修复?但在特立独行者下没有成功。

launchctl setenv PATH $PATH

共有1个答案

柳俊逸
2023-03-14
    < li >声明一个自定义函数,以便能够在每次路径改变时更新它 < li >将该函数存储在脚本中,以便能够以root用户身份运行它 < li >使用此功能创建OSX GUI应用程序(包括RStudio)将继承的完全等同于我的路径的路径

该函数在'. my函数'中声明,放置在我的$HOME中并来源于我的.配置文件

现在是脚本:

!/bin/bash

function setGUIpath () {
# create a custom path file in /etc/paths.d
# store the full PATH in that file for GUI apps
# created for the need to know PATH in RStudio system() calls

# mypath should exist and be writable (or sudo)
mypath=/etc/paths.d/mypath

# clear existing
cat /dev/null > ${mypath}

# fill with unique PATH items
# remove added 'PATH=' strings (what is doing this?)
echo $PATH | sed -e 's/PATH=//' | awk -F: '{for (i=1;i<=NF;i++) { if ( !x[$i]++ ) printf("%s\n",$i); }}' | sed -e 's/PATH=//' > ${mypath}

# restart Dock
osascript -e 'tell app "Dock" to quit'
}

# export it (optional?)
export -f setGUIpath

# run it
setGUIpath

如果这给我的操作系统带来任何风险,欢迎任何评论或改进。

 类似资料:
  • 我的Androidanifest.xml文件是这样的 我正在使用build。渐变版 build.gradle(APP)文件是这样的 但是它总是显示这个警告在Androidanifest.xml文件,如何解决这个警告? 问题: > 警告是关于什么的? 我该怎么修?

  • 使用 Adobe Bridge 和 After Effects 使用 Adobe Bridge 可运行动画预设;运行跨产品工作流程自动化脚本;查看和管理文件和文件夹;通过将关键字、标签和等级分配给您的文件来组织这些文件;搜索文件和文件夹;以及查看、编辑和添加元数据。 要从 After Effects 打开 Adobe Bridge,请选择“文件”>“在 Bridge 中浏览”。 要在 Adobe

  • 3.2 攻击WordPress和其他应用程序 今天越来越多的企业利用SAAS(Software as a Service)工具应用在他们的业务中。例如,他们经常使用WordPress作为他们网站的内容管理系统,或者在局域网中使用Drupal框架。从这些应用程序中找到漏洞,是非常有价值的。 为了收集用于测试的应用程序,Turnkey Linux是一个非常好的资源。Turnkey工具的官方网站是htt

  • 在上一章中,我们创建了一个示例RMI应用程序。 在本章中,我们将解释如何创建RMI应用程序,其中客户端调用显示GUI窗口(JavaFX)的方法。 定义远程接口 在这里,我们使用名为animation()的方法定义一个名为Hello的远程接口。 import java.rmi.Remote; import java.rmi.RemoteException; // Creating Remote

  • 如果主方法不能使用,我需要一些关于替代解决方案的建议,以满足这个要求。

  • 我制作了一个OpenGL应用程序,用于测试Framebuffer Objects,该应用程序适用于我制作的笔记本电脑,我拥有的另一台笔记本电脑和我的台式PC。但是,对于我要求为我测试该应用程序的其他人来说,它似乎崩溃了。 到目前为止,我已经将它缩小到在我调用的第一个扩展(在本例中为glGenBuffers)上崩溃,我100%确定在调用该函数(见下文)之前不会调用该扩展。在浏览了许多答案后,我确定了