-2

我尝试在 WSL Kali Linux 上安装 JDK。我关注了有关在 Linux 的 Windows 子系统上安装 Oracle JDK 的fieldju 回答。它成功了,javac,java 指令运行良好。

但每当我打开 Kali,

-bash: /etc/profile.d/oraclejdk.sh: line 3: syntax error near unexpected token `('
-bash: /etc/profile.d/oraclejdk.sh: line 3: `                    export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/KaliLinux.54290C8133FEE_1.1.9.0_x64__ey8k8hqnwqnmg:/mnt/c/windows/system32:/mnt/c/windows:/mnt/c/windows/System32/Wbem:/mnt/c/windows/System32/WindowsPowerShell/v1.0/:/mnt/c/windows/System32/OpenSSH/:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/c/Program Files/Intel/WiFi/bin/:/mnt/c/Program Files/Common Files/Intel/WirelessCommon/:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files/Microsoft SQL Server/130/Tools/Binn/:/mnt/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/PowerShell/6/:/mnt/c/Users/User/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/User/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Program Files/Bandizip/:/mnt/c/Program Files/Java/jdk-12.0.1/bin:/mnt/c/Users/User/AppData/Local/GitHubDesktop/bin:/usr/lib/jvm/oracle_jdk8/bin:/usr/lib/jvm/oracle_jdk8/db/bin:/usr/lib/jvm/oracle_jdk8/jre/bin'

这个错误来了。我该如何解决这个问题?

在此处输入图像描述

这是我的 /etc/profile.d/oraclejdk.sh 文件

4

1 回答 1

1

根据 bash 为您的 /etc/profile.d/oraclejdk.sh 提供的错误消息,您似乎只需将分配给 PATH 变量的整个值用双引号引起来。

而不是这个:

导出 PATH=/usr/local/sbin:/usr/local/bin...

试试这个:

导出 PATH="/usr/local/sbin:/usr/local/bin..."

请注意,需要双引号,因为您的某些文件夹名称有空格。结果 bash 将第一个空格之后的所有内容视为另一个表达式,而不是 PATH 值的一部分。此外,“(”字符对 bash 具有特殊含义,因此也需要双引号。

于 2019-07-20T20:47:41.903 回答