У меня возникла синтаксическая ошибка при установке jdk на моем WSL Kali linux

Я попытался установить JDK на WSL Kali Linux. Я следил за ответом fieldju на Установка Oracle JDK в подсистеме Windows для Linux. Это удалось, инструкции javac, java работали нормально.

Но всякий раз, когда я открывал Кали,

-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


person SunBathe    schedule 20.07.2019    source источник
comment
Этот вопрос лучше подходит для superUser.   -  person Turing85    schedule 20.07.2019


Ответы (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, поэтому его также необходимо заключать в двойные кавычки.

person Don    schedule 20.07.2019
comment
Отлично сработал. Спасибо - person SunBathe; 21.07.2019