I am not so into Linux and I have the following doubt following a tutorial.
I have to modify the bashrc file. What kind of settings are contained in this file? I think something related the bash shell environment but I am not so sure about it.
I have to insert this line:
export PATH=$HOME/.local/bin:$HOME/.local/usr/bin:$PATHWhat exactly does this line?
I think that export statement is used to create a new variable making it available for other program.
But what exactly does this line? Is PATH the name of the variable that I am defining? What is $HOME?
What means the : symbol between PATH=$HOME/.local/bin and $HOME/.local/usr/bin and $PATH section in the previous expression?
What exactly does this expression mean?
42 Answers
To recap everything mentioned in this question,
The export part
The export line means that the variable that you declare after it will be accessible to child processes. In other words, processes will be able to access the variable declared after the export keyword through the shell's environment. So, if you did something like export FOO="BAR" and then sourced the changes in your shell environment, you could type $FOO and get BAR.
The PATH part
The path line is just as you stated: it's declaring a variable that's named PATH for the shell environment. In the bash environment, PATH has a special purpose of defining where the computer looks for programs is. This lets you type custom commands for scripts without typing the full directory. Note that PATH is marked for export by default, so this line doesn't have to be rewritten. It doesn't hurt, though.
The $HOME in the PATH variable
At the beginning of the path that is assigned to the PATH variable, $HOME is declared. This means that the computer will pretty much grab the value stored in HOME and copy-paste it in front of the rest of the line when reading it.
The : in between both paths
The : is equivalent to a comma in sentences. It just separates the three directories. Without those three directories, the console would not recognize the commands it receives. Those three places are the three directories that are most commonly used for scripts/command files to be stored and therefore should be accessible by the terminal without having to write out the full path to the file.
The PATH variable lets bash know where to look for executable programs, so if you have a script or some other executable file in $HOME/.local/bin , modifying PATH will let you type and run that file just like you do with ls or df.
export only means to make that PATH variable also available for other programs you run from bash.
As for : , it's just a separator for each directory. It's the same as a comma in a list of words, nothing more.