Find path environment variable linux

What is the PATH environment variable and how do I add to it?

PATH is a global operating system variable that contains names of files that are to be executed without specyfing the whole path to them. For example You can just write startx to start graphic environemnt instead of /bin/some other folders/startx

After editing .profile restart your system to get the changes to take effect. (Perhaps there is a way around this, but restarting certainly works)

4 Answers 4

PATH is an enviroment variable. It basically tells your machine where to search for programs, so when you run your picc program you can just do this:

To add a directory to your $PATH , follow either one of the options below.

Method 1

PATH="$HOME/bin:$PATH:/usr/hitech/picc/9.82/bin" 

Method 2

Run the command below in the terminal:

export PATH=$PATH:/usr/hitech/picc/9.82/bin 

i do not clearly understand what do i edited /etc/profile but the link in your answer says something like this if [ -d «$HOME/bin» ] ; then PATH=»$PATH:$HOME/bin» fi what do do with this?

Just keep adding a colon, then your new path to that string. i.e. PATH=»$HOME/bin:$PATH:/usr/hitech/picc/9.82/bin:/my/new/path»

Shell environment variables are used for several purposes, from storing data, storing software configurations, set terminal settings, and changing shell environment. The environment variables are normally set at boot time, or by different software as required. One way of setting environmental variables is from the command line.

List all variables on terminal

this will print all the variable that you have

Show one variable at a time

The amount of these variables can become a very long list and locating one specific variable can become a tough task. Fortunately Linux allows us to display the value of one shell variable by using the echo command along with the name of the variable. This makes the task very easy. example: echo «$HOME»

Add or change a variable

To add or modify an environment variable, we can use the export command followed by the name of the variable and the values that go with it.

export NameofVariable='value' 

Note, however, that this will only work for the current shell session. It won’t be available in any other terminals.

Источник

Linux path environment variable

The PATH environment variable is an essential component of any Linux system. If you ever use the command line at all, the system is relying on the PATH variable to find the location of the commands you are entering.

In this tutorial, you’ll learn about the PATH environment variable and how it works. You’ll also see how it can be modified by removing paths or adding your own custom directories to the variable.

Читайте также:  Finding linux kernel version

In this tutorial you will learn:

  • What is the PATH variable and how’s it work?
  • How to temporarily or permanently add a directory to $PATH
  • How to remove a directory from $PATH

Linux path environment variable

Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Any Linux distro
Software N/A
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

The Linux PATH Variable

When you type a command into a Linux terminal, what’s really happening is that a program is being executed. Normally, to execute a custom program or script, we need to use its full path, such as /path/to/script.sh or just ./script.sh if we’re already in its residing directory. Alternatively, we can execute a lot of commands without specifying paths, by simply typing a command like uptime or date , etc.

The reason we don’t need to specify paths for some commands is because of the $PATH variable. This is a variable that can be configured to tell our Linux system where to look for certain programs. That way, when typing a command into the terminal, Linux checks the $PATH variable to see a list of directories to look for the program.

View currently configured directories in $PATH

Seeing all the directories that are currently configured in your system’s $PATH variable is easy. Just use the echo command like this:

Viewing the currently configured directories in our $PATH variable

As you can see, there are a few different directories already stored in $PATH. This is what allows us to run so many commands by default, without specifying their full location in the terminal.

To see what directory a command belongs to, you can use the which command.

Add Directory to PATH Variable

Adding a directory to the PATH variable will enable you to call on your program or script from anywhere in the system, without needing to specify the path to where you’ve stored it.

Follow along with the steps below to see how to add a directory either temporarily or permanently to the PATH variable.

Temporarily add a directory to $PATH

To add a directory to $PATH for the current session, use the following command syntax. In this example, we’re adding the /bin/myscripts directory.

$ export PATH="/bin/myscripts:$PATH"

You can verify afterwards that the directory has been added.

Now, files we have stored in the /bin/myscripts directory can be executed anywhere, without specifying their full path. This configuration will change when we end the current session (reboot the PC or close the terminal). To make it permanent, check out the section below.

Permanently add a directory to $PATH

To add a directory to $PATH permanently, we’ll need to edit the .bashrc file of the user you want to change. Use nano or your favorite text editor to open the file, stored in the home directory.

Читайте также:  Кали линукс открытые порты

At the end of this file, put your new directory that you wish to permanently add to $PATH.

export PATH="/bin/myscripts:$PATH"

Save your changes and exit the file. Afterwards, execute the following command to make the changes take effect in your current session. Alternative, you can log out or reboot the system.

That’s all there is to it. You can check $PATH once more to verify the change.

Remove directory from $PATH

You can remove a directory from PATH by editing the appropriate file and removing the undesirable directory. The directories for PATH can be configured in the ~/.bashrc file (per user basis) or the /etc/environment (system wide variables).

As an example, here’s what the /etc/environment file looks like on our test system.

Viewing the /etc/environment file from which we can remove directories from PATH

Removing directories from here would take effect across the whole system, whereas removing directories from .bashrc will only affect one user.

We elaborate more on these files in our guide on how to set and list environment variables.

Closing Thoughts

In this guide, we learned about the $PATH variable and how it controls what commands are able to be executed without specifying their full path. We also saw how to remove a directory or add new programs or scripts to $PATH either temporarily or permanently.

Comments and Discussions

Источник

Переменная 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 новым, нужно именно добавить (дописать) это новое значение к уже имеющемуся, не забыв о разделителе-двоеточии:

Читайте также:  Install kali linux parallels

Теперь мы можем убедиться, что в переменной PATH содержится также и имя этой, добавленной нами, папки:

Вы уже знаете как в Linux добавить имя требуемой папки в переменную PATH, но есть одна проблема — после перезагрузки компьютера или открытия нового сеанса терминала все изменения пропадут, ваша переменная PATH будет иметь то же значение, что и раньше. Для того, чтобы этого не произошло, нужно закрепить новое текущее значение переменной PATH в конфигурационном системном файле.

В ОС Ubuntu значение переменной PATH содержится в файле /etc/environment, в некоторых других дистрибутивах её также можно найти и в файле /etc/profile. Вы можете открыть файл /etc/environment и вручную дописать туда нужное значение:

Можно поступить и иначе. Содержимое файла .bashrc выполняется при каждом запуске оболочки Bash. Если добавить в конец файла команду export, то для каждой загружаемой оболочки будет автоматически выполняться добавление имени требуемой папки в переменную PATH, но только для текущего пользователя:

Выводы

В этой статье мы рассмотрели вопрос о том, зачем нужна переменная окружения PATH в Linux и как добавлять к её значению новые пути поиска исполняемых и связанных с ними файлов. Как видите, всё делается достаточно просто. Таким образом вы можете добавить столько папок для поиска и хранения исполняемых файлов, сколько вам требуется.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

How can I find out where an environment variable (like PATH) was set?

I have a xterm with the bash shell in linux. When I echo $PATH , it is showing a directory and I want to know who put this directory in the PATH . How can I find out? Thanks!

4 Answers 4

Assuming your login shell is bash, you could start looking in the following files: /etc/profile , ~/.bashrc and ~/.bash_profile . If you invoke bash from another shell, then you might need to check what variables the other shell sets.

You probably cannot discover who, but you can find out which file is setting that. Look a the Bash documentation for the startup files. There are several that bash processes on startup to set $PATH and the other environment variables.

Also you could take a look to the file /etc/environment

This answer assumes your login shell is bash.

I use an alias that simulates the opening of a login shell and outputs verbose logs to stdout.

Depending on how you configure your dotfiles, you might want to choose something other than ~/.bashrc , however, for my purposes, this works because ~/.bashrc is where I source all of my various configuration files and exports.

alias simlogin='PS4='\''+~/.bashrc> '\'' BASH_XTRACEFD=7 bash -xl 7>&2' 

Note that after you run this command, your current shell will output a trace on every subsequent prompt and command, so you’ll probably want to exit the shell after you find what you need.

There’s a good answer here that can help you improve this debugging experience by redirecting the debug log output to a file (or other location).

Источник

Оцените статью
Adblock
detector