- Как добавить путь к каталогу в переменную $PATH
- Просмотр текущих настроенных каталогов в $PATH
- Как временно добавить каталог в $PATH
- Как добавить каталог в $PATH на постоянной основе
- Linux environment variable tips and tricks
- Starting with the env command
- More Linux resources
- Exploring shell levels ( SHLVL )
- Manipulating your PATH variable
- Unraveling $USER , $PWD , and $LOGNAME
- Playing the $SHELL game
- Setting your own environment variables
- Wrapping up
- Переменная PATH в Linux
- Переменная PATH в Linux
- Выводы
- How to set the $PATH variable in Redhat 9.0
- linux-notes.org
- Установка переменных JAVA_HOME / PATH в Unix/Linux
- One thought on “ Установка переменных JAVA_HOME / PATH в Unix/Linux ”
- Добавить комментарий Отменить ответ
Как добавить путь к каталогу в переменную $PATH
Когда вы вводите команду в терминал Linux программа выполняется.
Обычно для выполнения пользовательской программы или скрипта нам нужно использовать полный путь к ней, например /path/to/script.sh или просто ./script.sh, если мы уже находимся в его постоянном каталоге.
В качестве альтернативы мы можем выполнять множество команд без указания путей, таких как например up, дата и т.д.
Причина, по которой нам не нужно указывать пути для некоторых команд, заключается в переменной $PATH.
Это переменная, которую можно настроить таким образам, чтобы указать нашей системе Linux, где искать определенные программы.
Таким образом, при вводе date в терминал Linux проверяет переменную $PATH, чтобы увидеть список каталогов для поиска программы.
В этом руководстве мы расммотрим, как добавить каталог в переменную $PATH на Linux.
Это позволит нам вызывать программу или скрипт из любой точки системы без необходимости указывать путь к месту, где мы их сохранили.
Далее покажем, как просматривать каталоги в $PATH и добавлять каталог временно или навсегда в переменную.
Просмотр текущих настроенных каталогов в $PATH
Просмотр текущих настроенных каталогов в $PATH
Просмотреть все каталоги, которые в настоящее время настроены в переменной $PATH вашей системы, очень просто.
Просто используйте команду echo вот таким образом:
Как видите, в $PATH уже хранится несколько разных каталогов.
Это как раз то, что позволяет нам запускать так много команд по умолчанию, не указывая их полное расположение в терминале.
Чтобы узнать, к какому каталогу принадлежит команда, вы можете использовать команду which.
Как временно добавить каталог в $PATH
Чтобы добавить каталог в $PATH для текущего сеанса, используйте следующий синтаксис.
В этом примере мы добавим каталог /bin/myscripts.
Как добавить каталог в $PATH на постоянной основе
Чтобы добавить каталог в $PATH навсегда, нам нужно отредактировать файл .bashrc пользователя, у которого вы хотите это дело изменить.
Используйте nano или ваш любимый текстовый редактор, чтобы открыть файл, хранящийся в домашнем каталоге.
Источник
Linux environment variable tips and tricks
Environment variables exist to enhance and to standardize your shell environment on Linux systems. There are standard environment variables that the system sets up for you, but you can also set up your own environment variables, or optionally change the default ones to meet your needs.
Starting with the env command
If you want to see your environment variables, use the env command and look for the words in all caps in the output’s far left. These are your environment variables, and their values are to the right:
More Linux resources
I have omitted the output of the LS_COLORS variable because it is so long. Try this command on your system to see what the full output looks like.
Many environment variables are set and then exported from the /etc/profile file and the /etc/bashrc file. There is a line in /etc/profile that reads:
To make permanent changes to the environment variables for all new accounts, go to your /etc/skel files, such as .bashrc , and change the ones that are already there or enter the new ones. When you create new users, these /etc/skel files will be copied to the new user’s home directory.
Exploring shell levels ( SHLVL )
To call the value of a single environment variable, enter the following command, using SHLVL (Shell Level) as an example:
This variable changes depending on how many subshells you have open. For example, enter bash twice and then issue the command again:
A shell level of three means that you are two subshells deep, so type exit twice to return to your regular shell.
[Want to try out Red Hat Enterprise Linux? Download it now for free.]
Manipulating your PATH variable
The PATH variable contains the search path for executing commands and scripts. To see your PATH , enter:
Temporarily change your PATH by entering the following command to add /opt/bin :
The change is temporary for the current session. It isn’t permanent because it’s not entered into the .bashrc file. To make the change permanent, enter the command PATH=$PATH:/opt/bin into your home directory’s .bashrc file.
When you do this, you’re creating a new PATH variable by appending a directory to the current PATH variable, $PATH . A colon ( : ) separates PATH entries.
Unraveling $USER , $PWD , and $LOGNAME
I had a theory that I think has been dispelled by my own good self. My theory was that the commands pwd and whoami probably just read and echoed the contents of the shell variables $PWD and $USER or $LOGNAME , respectively. To my surprise, after looking at the source code, they don’t. Maybe I should rewrite them to do just that. There’s no reason to add multiple libraries and almost 400 lines of C code to display the working directory. You can just read $PWD and echo that to the screen (stdout). The same goes for whoami with either $USER or $LOGNAME .
If you want to have a look at the source code for yourself, it’s on GitHub and other places. If you find that these programs (or others) do use shell variables, I’d love to know about it. Admittedly, I’m not that great at reading C source code, so they could very well use shell variables and I’d never know it. They just didn’t seem to from what I read and could understand.
Playing the $SHELL game
In this last environment variable overview, I want to show you how the $SHELL variable comes in handy. You don’t have to stay in your default shell, which is likely Bash. You can enter into and work in any shell that’s installed on the system. To find out which shells are installed on your system, use the following command:
All of those are actually Bash, so don’t get excited. If you’re lucky, you might also see entries for /bin/tcsh , /bin/csh , /bin/mksh , /bin/ksh , and /bin/rksh .
You can use any of these shells and have different things going on in each one if you’re so inclined. But, let’s say that you’re a Solaris admin and you want to use the Korn shell. You can change your default shell to /bin/ksh using the chsh command:
Now, if you type echo $SHELL , the response will be /bin/bash , so you have to log out and log in again to see the change. Once you log out and log in, you will receive a different response to echo $SHELL .
You can enter other shells and echo $SHELL should report your current shell and $SHLVL , which will keep you oriented as to how many shells deep you are.
Setting your own environment variables
You can set your own variables at the command line per session, or make them permanent by placing them into the
/.profile , or whichever startup file you use for your default shell. On the command line, enter your environment variable and its value as you did earlier when changing the PATH variable.
Wrapping up
Shell or environment variables are helpful to users, sysadmins, and programmers alike. They are useful on the command line and in scripts. I’ve used them over the years for many different purposes, and although some of them are probably a little unconventional, they worked and still do. Create your own or use the ones given to you by the system and installed applications. They truly can enrich your Linux user experience.
As a side note on variables and shells, does anyone think that those who program in JSON should only be allowed to use the Bourne Shell? Discuss.
Источник
Переменная PATH в Linux
Когда вы запускаете программу из терминала или скрипта, то обычно пишете только имя файла программы. Однако, ОС Linux спроектирована так, что исполняемые и связанные с ними файлы программ распределяются по различным специализированным каталогам. Например, библиотеки устанавливаются в /lib или /usr/lib, конфигурационные файлы в /etc, а исполняемые файлы в /sbin/, /usr/bin или /bin.
Таких местоположений несколько. Откуда операционная система знает где искать требуемую программу или её компонент? Всё просто — для этого используется переменная PATH. Эта переменная позволяет существенно сократить длину набираемых команд в терминале или в скрипте, освобождая от необходимости каждый раз указывать полные пути к требуемым файлам. В этой статье мы разберёмся зачем нужна переменная PATH Linux, а также как добавить к её значению имена своих пользовательских каталогов.
Переменная PATH в Linux
Для того, чтобы посмотреть содержимое переменной PATH в Linux, выполните в терминале команду:
На экране появится перечень папок, разделённых двоеточием. Алгоритм поиска пути к требуемой программе при её запуске довольно прост. Сначала ОС ищет исполняемый файл с заданным именем в текущей папке. Если находит, запускает на выполнение, если нет, проверяет каталоги, перечисленные в переменной PATH, в установленном там порядке. Таким образом, добавив свои папки к содержимому этой переменной, вы добавляете новые места размещения исполняемых и связанных с ними файлов.
Для того, чтобы добавить новый путь к переменной PATH, можно воспользоваться командой export. Например, давайте добавим к значению переменной PATH папку/opt/local/bin. Для того, чтобы не перезаписать имеющееся значение переменной PATH новым, нужно именно добавить (дописать) это новое значение к уже имеющемуся, не забыв о разделителе-двоеточии:
Теперь мы можем убедиться, что в переменной PATH содержится также и имя этой, добавленной нами, папки:
Вы уже знаете как в Linux добавить имя требуемой папки в переменную PATH, но есть одна проблема — после перезагрузки компьютера или открытия нового сеанса терминала все изменения пропадут, ваша переменная PATH будет иметь то же значение, что и раньше. Для того, чтобы этого не произошло, нужно закрепить новое текущее значение переменной PATH в конфигурационном системном файле.
В ОС Ubuntu значение переменной PATH содержится в файле /etc/environment, в некоторых других дистрибутивах её также можно найти и в файле /etc/profile. Вы можете открыть файл /etc/environment и вручную дописать туда нужное значение:
sudo vi /etc/environment
Можно поступить и иначе. Содержимое файла .bashrc выполняется при каждом запуске оболочки Bash. Если добавить в конец файла команду export, то для каждой загружаемой оболочки будет автоматически выполняться добавление имени требуемой папки в переменную PATH, но только для текущего пользователя:
Выводы
В этой статье мы рассмотрели вопрос о том, зачем нужна переменная окружения PATH в Linux и как добавлять к её значению новые пути поиска исполняемых и связанных с ними файлов. Как видите, всё делается достаточно просто. Таким образом вы можете добавить столько папок для поиска и хранения исполняемых файлов, сколько вам требуется.
Источник
How to set the $PATH variable in Redhat 9.0
The $PATH variable is a list of which directories Redhat will look in for executable files.
To see what the current path is, type.
echo $PATH
You should get something like the following.
This means that when you try to run a program or script (eg: ping, ftp or vi etc), Redhat will look in /usr/local/bin then /bin , /usr/bin and finally in /home/myname/bin to find it.
You can change the path to suit your needs.
EXAMPLE:
To add /sbin to the path, type
export PATH=$PATH:/sbin
To see the result, type.
echo $PATH
You will see that /sbin has been added.
However, using this method will only modify the path for the current session. Once you log out, anything you’ve added to the path will be removed, so next time you log in it would have to be added again.
The way to modify the path variable permanently is to edit the bash_profile file (assuming you are using the default bash shell).
To edit the bash_profile, change to your home directory (ie: /home/myname) and type.
vi .bash_profile (note the fullstop before ‘bash’. This ‘.’ makes it a hidden file)
then arrow down until you find the line that looks similar to this.
type i to enter ‘insert’ mode,
then add whatever directory you want to the end of it (remember to use the ‘:’ between directory names).
Press the escape key to exit ‘insert’ mode,
type :w to write the file
type :q to quit the vi editor
Источник
linux-notes.org
Не знаете как установить переменные JAVA_HOME и PATH для каждого пользователя в соответствии с вашей системой Linux? Тогда эта статья «Установка переменных JAVA_HOME / PATH в Linux» именно для Вас. Я напишу ее в качестве заметки, чтобы потом быстренько вспомнить и прописать Java_Home и Path на ОС для каждого пользователя ( если понадобится).
Установка переменных JAVA_HOME / PATH в Unix/Linux
/ .bash_profile является сценарий запуска, который обычно выполняется один раз. Это конкретный файл используется для команд, которые выполняются, когда нормальные входе пользователя в систему. Common использует для .bash_profile должны установить переменные окружения, такие как PATH, JAVA_HOME, чтобы создать псевдонимы для команд оболочки, и установить права доступа по умолчанию для вновь создаваемых файлов.
Установка JAVA_HOME / PATH для одного пользователя
Зайдите в свой аккаунт (учетную запись) и откройте файл .bash_profile в любом редакторе:
Установите JAVA_HOME как показано используя синтаксис export JAVA_HOME=
. Если ваш путь такой как у меня /usr/lib/jvm/java-1.6.0-openjdk-i386/bin/java, то тогда пропишите:
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-i386/bin/java
Чтобы установить PATH пропишите:
Замените путь /usr/java/jdk1.5.0_07 на свой. Сохраните и закройте файл. Просто выйдите и зайдите обратно (перелогиньетсь), чтобы увидеть изменения или чтобы все изменения вступили в силу, выполните команду:
Чтобы проверить отображение новых настроек, используйте команды:
Совет: Используйте следующую команду, чтобы узнать точный путь Java под UNIX / Linux:
Пожалуйста, обратите внимание, что файл
/.bashrc похож на
/.bash_profile но работает только для оболочки Bash и .bashrc работает для каждой новой Bash оболочки.
Установка JAVA_HOME / PATH для всех пользователей
Вам нужно добавить строки в глобальный файл конфигурации в /etc/profile ИЛИ /etc/bash.bashrc чтобы внести изменения для всех пользователей:
Добавьте переменные PATH / JAVA_PATH следующим образом:
Сохраните и закройте файл. Еще раз вам нужно ввести следующую команду, чтобы немедленно активировать настройки:
Но если не будет работать, есть еще 1 способ прописать все это дело! Сейчас я покажу как это можно сделать.
1. Устанавливаем переменные среды:
2. Выполните команду чтобы перезапустить все только что прописанные настройки:
3. Тест, если среда Java успешно установлена, введите команду в терминале чтобы проверить работу:
Установка переменных JAVA_HOME / PATH в Unix/Linux завершена.
One thought on “ Установка переменных JAVA_HOME / PATH в Unix/Linux ”
Спасибо за гайд, работает как часы. Первых пунктов до bash_profile включительно хватило. Версия х64. Пути и названия свои. Проверил еще javac -version. Вопрос к автору. Где эту информацию искать на сайте оракла?
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник