【问题标题】:Adding java directory to my path automatically自动将 java 目录添加到我的路径
【发布时间】:2021-03-14 18:33:48
【问题描述】:

我在我的 makefile 中这样做是为了尝试获取 Java 的 PATH,但是 find 的结果字符串没有正确转义以在 bash 中使用,我如何让 find 将转义的路径返回给 java。可执行文件?

JAVA_EXE := "$(shell find /c/Program\ Files\ \(x86\)/Java/ -type f -name 'java.exe' -print0 -quit)"
JAVA_PATH := $(dir $(JAVA_EXE))

【问题讨论】:

  • 您确定需要将其转义吗?您可以直接写入名为PATH 的makefile 变量,然后执行export PATH 将其转换为环境变量。
  • JAVA_EXE 包含未转义且可用于执行的文件的位置,但我需要文件的路径而不是文件本身
  • 我明白了,但是您打算如何处理路径?是否要将其添加到 PATH 变量中?
  • 是的,对于路径,但我需要两个不同的变量。一个用于可执行文件,另一个用于添加到路径
  • 那么我的第一条评论适用。您可能不需要将其转义即可将其添加到 PATH

标签: makefile msys2


【解决方案1】:

好的,自从我上次发布这个问题以来,我学到了很多东西。

我需要一个脚本,比如所谓的 addJavaToPath.sh

#!/bin/sh
JAVA_EXE=$(find "/c/Program Files" -type f -name java.exe -print -quit 2>/dev/null)
echo JAVA_EXE: $JAVA_EXE
JAVA_PATH=${JAVA_EXE%'java.exe'}
echo JAVA_PATH: $JAVA_PATH
export PATH=$PATH:"$JAVA_PATH"

然后你输入:

source addJavaToPath.sh

它需要来源,因为你想弄乱路径,通常导出只会在脚本的生命周期内持续

【讨论】:

    猜你喜欢
    • 2011-11-11
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    相关资源
    最近更新 更多