我正在写一个实用程序,需要能够设置和使用上下文。 我希望它在shell中使用环境variables,以便它可以记住它在调用之间当前的上下文。 理想情况下,我想从实用程序内部设置这个环境variables。 就像是: mytool set-context <context> mytool do-stuff # Aware of <context> 我想这样做的行为如下: export MYTOOL_CONTEXT=<context> mytool do-stuff # Aware of <context> 现在,程序实际上不可能在调用shell的环境中设置环境variables( 这里是SO)。 但是,这是我想要的行为,我正在寻找一个近似或解决方法。 我想到的一些想法是: 输出正确的string,并期望用户设置variables(假设该variables不是简单地设置为<context> ,而是从其派生的一些string)。 这看起来像export MYTOOL_CONTEXT=$(mytool get-context-var <context>) 。 输出完整的命令来设置它。 这看起来像$(mytool set-context <context>) ,其中命令的输出实际上是执行(和输出将像export MYTOOL_CONTEXT=<context> )。 保存到名称基于shell的PID的临时文件。 这在大多数情况下都可以工作,但是删除文件不会自动发生,所以可能只是在重新启动之前(即可能永远存在于许多机器上)。 任何其他的想法? 谢谢! 注意 :上面的例子使用BASH语法,但是在大多数shell中都有等价的。
在所有教程“如何在Linux中安装Oracle Java”都说OpenJDK 必须从系统中清除。 这是绝对必要的吗? 有什么办法可以避免在Linux系统(特别是Linux Mint / Ubuntu)上来自不同供应商(例如Oracle JDK和OpenJDK)的JRE / JDK之间的冲突?
我把gfortran作为用户安装在服务器上。 但我无法设置环境。 有人会帮我如何做到这一点。 不过,我可以用下面的命令来使用gfortran: /home/kay/gcc-4.8.5/bin/gfortran 我试图用下面的方式设置环境,但不工作。 $vi ~/.bashrc export gfortran=/home/kay/gcc-4.8.5/bin/gfortran source ~/.bashrc 当我键入 $gfortran command not found 但是当我input $/home/kay/gcc-4.8.5/bin/gfortran fatal error: no input file
创build新的conda环境时,默认安装一些软件包。 > conda create -n newEnv python=3.6 The following NEW packages will be INSTALLED: openssl: 1.0.2k-1 pip: 9.0.1-py36_1 python: 3.6.1-0 … zlib: 1.2.8-3 我相信有一种方法可以在创build新环境时指定要安装的默认库, 而不必在conda create命令之后input所有名称 。 有没有我可以编辑的文件,以指定哪些是用conda创build新环境时要安装的默认库? 解决scheme:基于下面的holdenweb答案,您需要在.condarc中添加以下行(缺省情况下不存在): create_default_packages: – jupyter – matplotlib – otherLibrary … 这是创build新环境时将要安装的库列表。 您也可以使用以下命令直接添加库(以jupyter为例) conda config –add create_default_packages jupyter 这将追加指定的库(这里jupyter )到上面的列表。
我有一个脚本,导出一个环境variables,并启动一些下标。 export LOGLEVEL="1" /home/myuser/bin/myscript1.sh /home/myuser/bin/myscript2.sh LOGLEVEL可用于从下标开始的进程。 我怎样才能改变环境variablesLOGLEVEL ? 我试图设置export LOGLEVEL="5"的variables,但不能正常工作。
我正在运行安装了Anaconda 4.1.1(64位)的Ubuntu 16.04。 我正在使用共享机器,我试图创build一些不同的Conda环境作为“基础”环境,然后由机器上的其他用户将其克隆到本地环境中。 为此,我安装了anaconda: /usr/share/anaconda2/ 对于我的testing用户,我的.condarc文件如下所示: envs_dirs: – /home/user1/.conda/envs – /usr/share/anaconda2/envs 我使用conda create –name test_base python=2 numpy scipy创build了一个conda环境: conda create –name test_base python=2 numpy scipy 然后,使用sudo,将/home/user1/.conda/envs/ /test_base复制到/usr/share/anaconda2/envs/ 。 运行conda info –envsfind原始和复制的环境,所以我删除用户文件夹中的副本。 然后,我可以source activate test_base和运行Python提供标准的python标题与正确的版本的Python。 这是我所期望的。 现在当我做conda create –name test –clone test_base我现在有一个env在/ conda create –name test –clone test_base称为test 。 但是,激活这个环境后运行python运行我认为是系统python。 标题中没有提到是否是水蟒。 为了确保将环境复制到/usr/share/anaconda2/不会导致问题,如果我只是在主目录中创build一个基本环境,然后从那里克隆它,我会得到同样的结果。 另外当在根中运行python –version ,我得到: […]
我在/etc/profile中的整个linux varibale中添加一个variables export MYNAME="My Value" 我怎样才能通过Apache Web服务器运行期间在PHP源代码中访问此值? 在$ _SERVER中这个值不存在。 只是这个键出现在$ _ENV: _ENV["APACHE_RUN_DIR"] /var/run/apache2 _ENV["APACHE_PID_FILE"] /var/run/apache2.pid _ENV["PATH"] /usr/local/bin:/usr/bin:/bin _ENV["APACHE_LOCK_DIR"] /var/lock/apache2 _ENV["LANG"] C _ENV["APACHE_RUN_USER"] www-data _ENV["APACHE_RUN_GROUP"] www-data _ENV["APACHE_LOG_DIR"] /var/log/apache2 _ENV["PWD"] /
我只是希望我的Apache注册一些预定义的环境,以便我可以在PHP中使用getenv函数检索它。 我怎样才能做到这一点? 我尝试添加/etc/profile.d/foo.sh与出口FOO = / bar / baz使用根,并重新启动apache。
我在设置Eclipse C ++项目时遇到了问题。 我需要在不同的目录中链接不同的目录,而且在我的环境中,我需要的源码实际上有时会移动(例如,当我总是想要当前位于/aaa/bbb/v1.2.3/src目录中的最新版本的子系统时/aaa/bbb/v1.2.3/src )。 我总是通过linux环境variables知道我想要的源的位置,比如$SYSTEM1_LATEST_ROOT 。 没有这个,我需要更新我所有的项目,每当我应该从一个新的位置select来源。 我无法find将环境variables包含在链接资源的path中的方法。 包含目录完美工作(这是在我的.cproject文件中定义),例如( .cproject ): <option id="…" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> … <listOptionValue builtIn="false" value="${SYSTEM1_LATEST_ROOT}/src"/> … </option> 对于链接的资源(在.project文件中定义),我知道我可以使用pathvariables,但这些variables只在Eclipse内部定义,我发现没有办法让它们基于环境variables,但只是相对于我自己的项目位置不是我想要做的。 总之,我想链接在基于环境variables的位置的源代码。 variables名是常量,但源的实际位置(通过环境variables已知)不是。 使用相对于项目的path的工作示例。 这不是我想要的(.project): <linkedResources> <link> <name>System1_src</name> <type>2</type> <locationURI>PARENT-6-PROJECT_LOC/src</locationURI> </link> </linkedResources> 我想做的非工作例子(.project): <linkedResources> <link> <name>System1_src</name> <type>2</type> <locationURI>${SYSTEM1_LATEST_ROOT}/src</locationURI> </link> </linkedResources> 有什么build议么?
是否有可能使用maven(OS:Linux)设置环境variables? 我已经有用户定义的属性(在POM和在profiles.xml)….我的问题是,如何执行从Maven export GGA_FRE=/path 所以每个开发者都可以为GGA_FRE设定自己的path。