Если вы хотите установить Oracle JDK на Fedora, вам нужно (проверить архитектуру вашего процессора ).
ИМХО, самый простой и менее инвазивный вариант — загрузить файл tar.gz. Предположим, вы загрузили файл jdk-8u161-linux-x64.tar.gz
. После загрузки откройте терминал и извлеките файл в подходящее место, например, в подпапку в домашнем каталоге вашего пользователя /home/myuser/programs
, выполнив
cd /home/myuser/programs
tar -xvzf <PATH-TO-DOWNLOADED-FILE>/jdk-8u161-linux-x64.tar.gz
После этого у вас есть каталог jdk1.8.0_161
в /home/myuser/programs
, на который вы теперь можете ссылаться. Чтобы иметь все двоичные файлы в /home/myuser/programs/jdk1.8.0_161/bin
, используйте
export JAVA_HOME=/home/myuser/programs/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
Это устанавливает переменную среды JAVA_HOME
в каталог, в который вы извлекли все файлы, и помещает все двоичные файлы в подкаталоге bin
в переменную среды PATH
.
Проверьте это с помощью:
java -version
Вывод должен быть:
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
После успешного завершения не забудьте сохранить настройки среды, добавив их в файл ~/.profile
или ~/.bashrc
.
Дискалимер :Я так не тестировал.
Для этого вам нужен root-доступ. После загрузки файла rpm вы можете проверить, соблюдены ли все требования для установки JDK, выполнив
rpm -i --test <PATH-TO-DOWNLOADED-FILE>/jdk-8u161-linux-x64.rpm
После того, как это было успешно, перейдите на root(su root
)и установите rpm с помощью
rpm -i <PATH-TO-DOWNLOADED-FILE>/jdk-8u161-linux-x64.rpm
Возможно, вы также можете использоватьsudo
sudo rpm -i <PATH-TO-DOWNLOADED-FILE>/jdk-8u161-linux-x64.rpm
После установки файла rpm вам, возможно, придется добавить двоичные файлы в вашу PATH
переменную, как указано выше (см. вариант 1 ).
У вас есть 2 простых оператора, по 1 в строке. Итак, для первой строки шаги 1, 2 и 3 ничего не делают, тогда шаг 4 — это присвоение переменной.
Для второй строки переменная расширяется на шаге 1.
...expansions, assignments, and redirections, from left to right.
В руководстве не упоминается, что он также анализирует сверху вниз , одну строку за другой. В нем говорится только о простых командах .
Вы всегда можете изменить
cmd1
cmd2
в
cmd1; cmd2
Но обычно
com ma nd 1
co mma nd 2
люди предпочитают
com ma nd 1; co mma nd 2
В bash у вас нет =
по сравнению с ==
, поэтому используется специальный синтаксис для присваиваний . Также упоминаются перенаправления , которые вы можете разместить где угодно:
> log.txt echo ${var}s
echo ${var}s>log.txt
Продолжение строки наоборот:
com \
mand 1
Это не та линия. Оболочка выполнит эти шаги дважды.
Кроме того, обратите внимание, что эти:
var="hello friend"; echo ${var}s > log.txt
также являются двумя простыми командами. Но это:
varr="hello friend" echo ${varr}s > log.txt
— одна простая команда. В этом случае ваше сомнение применимо:${varr}
будет заменено пустой строкой (, если она не была назначена ранее; Я намеренно использовал новое имя, чтобы старое назначение не мешало ).