相关疑难解决方法(0)

将目录添加到 $PATH 如果它不存在

有没有人写了一个 bash 函数来将一个目录添加到 $PATH 中,如果它不存在?

我通常使用以下内容添加到 PATH:

export PATH=/usr/local/mysql/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

如果我在 .bash_profile 中构建我的 PATH,那么它不会被读取,除非我所在的会话是登录会话——这并不总是正确的。如果我在 .bashrc 中构建我的 PATH,那么它会与每个子 shell 一起运行。因此,如果我启动一个终端窗口,然后运行 ​​screen 然后运行一个 shell 脚本,我会得到:

$ echo $PATH
/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:....
Run Code Online (Sandbox Code Playgroud)

我将尝试构建一个名为 bash 的函数add_to_path(),如果它不存在,它只会添加目录。但是,如果有人已经写过(或找到)这样的东西,我不会花时间在上面。

script bash path

149
推荐指数
11
解决办法
5万
查看次数

如何通过命令行将条目永久附加到系统的 PATH 变量中?

我需要做什么:

  • %PATH%在 SYSTEM 级别将文件夹附加到环境变量。
  • 使更改永久化。

我需要怎么做:

  • 使用命令提示符或其他可以将所有必需命令写入.BAT文件的方法。
  • 使用这将是可用的裸露安装Windows XP SP3的工具,没有互联网连接。
  • 我宁愿在本地运行脚本,但我也可以远程访问目标系统。但请记住,我不能假定系统上启用了任何非默认服务(即:远程注册表)。

脚本需要处理的系统:

  • 视窗 XP SP3
  • 视窗服务器 2003 SP2
  • 视窗 7 SP1
  • Windows Server 2008 R2 SP1

我对SET命令相当熟悉,但我也知道它通常会覆盖现有变量而不是附加到它。那是不能接受的。是否有另一个工具(或选项SET,我不知道)将附加到变量?或者,我是否需要在脚本中放置一个解决方法,包括将现有变量临时复制到另一个变量或文本文件?

另外,我的理解是SET不会永久改变变量。我已经看到提到SETX,但这似乎并没有内置到 Windows XP SP3 中(或者,至少,它似乎在我正在使用的系统上不可用)。是否有另一种方法可以通过注册表编辑或其他方式使更改永久化?

我已经环顾四周,并从这里学到了一些关于在 Windows 中设置环境变量的知识。但是,我还没有找到一个完全符合我需要的重复问题。如果有的话,请告诉我。

windows environment-variables batch-file

13
推荐指数
1
解决办法
2万
查看次数

如何将用户定义的环境变量附加到 Windows 7 中的系统变量 PATH?

我有两个用户定义的变量:

ANT_HOME 设置为 %USERPROFILE%\Developer\Tools\Apache\Apache Ant\apache-ant-1.8.2 JAVA_HOME 设置为 C:\Program Files\Java\jdk1.6.0_23

我想将这些路径附加到 System 变量,以便我可以访问其 bin 文件夹中的可执行文件。我试过

PATH 设置为 [其他路径];%ANT_HOME%\bin;%JAVA_HOME%\bin

但是,这不起作用。当我打开命令提示符并 echo %PATH% 时,用户变量未扩展。所以路径只显示文字, ;%ANT_HOME%\bin;%JAVA_HOME%\bin

我似乎记得这在我的旧 Windows XP 系统上运行良好。如何在 Windows 7 上进行设置?

windows-7 environment-variables

9
推荐指数
2
解决办法
2万
查看次数