Welcome to the Linux Foundation Forum!
more man page trouble
tw3ak
Posts: 37
in Command Line
Linux nEWb,
working my way through the man pages still... confused one in this statement? : export PATH="$PATH:/opt/gnome/bin" I thought I could do export PATH="$PATH=/opt/gnome/bin"???.... Also, this is temp? when I reboot it's gone? right? If I'm learning anything I'd have to put it in ./bashrc or ./bash_profile right?
0
Comments
-
I am a bit confused because you show the same command in both cases, but the command would be
export PATH="/opt/gnome/bin"
If you enter the command via terminal then it is temporary and will only exist as long as that terminal session is open, you are correct in saying that you need to append it to .bashrc to keep it for future sessions.0 -
I think you should use
export PATH="${PATH}:/opt/gnome/bin"this appends your PATH-variable.export PATH="/opt/gnome/bin"
overwrites it afaik.0 -
I'd suggest that you do an
echo $PATH
. That will show you what your PATH variable currently is; it'll be a whole lot of directories, separated by colons. When you type in a command without a path, for example "ls", it will search through those directories, one by one, for a program entitled ls and run it.
Now if you tryexport PATH="$PATH:/opt/gnome/bin"
and thenecho $PATH
again, you'll see that the PATH environment variable now has ":/opt/gnome/bin" stuck on the end, but is otherwise unchanged. (The colon is there to separate directories).
Using an equals instead of a colon will probably (I'm not quite sure here) result in it trying to look in a directory with a name something like /bin=/opt/gnome/bin every time it tries to run a command; since /bin= (presumably) doesn't exist, this will cause a problem. Especially as it's no longer looking in /bin (which includes, for example, ls); which can cause problems. (Your PATH might not have /bin at the end; it is merely used in an illustrative sense).
If you useexport PATH="/opt/gnome/bin"
, then your path will only consist of /opt/gnome/bin. Now try something simple, like ls... and then it's probably a good idea to close that terminal and open a new one.0 -
CCC wrote:
DON'T do this:Now if you tryexport PATH="$PATH:/opt/gnome/bin"
and thenecho $PATH
again, you'll see that the PATH environment variable now has ":/opt/gnome/bin" stuck on the end, but is otherwise unchanged. (The colon is there to separate directories).export PATH="$PATH:/opt/gnome/bin"
as environment variables can get confused depending upon the following character (a colon in this case). It is better to useexport PATH="${PATH}:/opt/gnome/bin"Using $PATH by itself is not recommended. Using ${PATH} is as there is no ambiguity - the terminating curly-brace is definitive.0 -
if you are confuse, the easiest way is to add the "/opt/gnome/bin"
to the last colon in the line PATH in your .bashrc
0 -
woboyle wrote:CCC wrote:
DON'T do this:Now if you tryexport PATH="$PATH:/opt/gnome/bin"
and thenecho $PATH
again, you'll see that the PATH environment variable now has ":/opt/gnome/bin" stuck on the end, but is otherwise unchanged. (The colon is there to separate directories).export PATH="$PATH:/opt/gnome/bin"
as environment variables can get confused depending upon the following character (a colon in this case). It is better to useexport PATH="${PATH}:/opt/gnome/bin"Using $PATH by itself is not recommended. Using ${PATH} is as there is no ambiguity - the terminating curly-brace is definitive.
My apologies. You are, of course, perfectly correct; the {}s are better practice.0 -
?0
-
? is right. It would appear you are having him switch users to himself to source in the new PATH.
the quicker and easier way to refresh your terminal is to just execute the command:source .bashrc
Although you have to be in your home directory for that to work. Otherwise you have to put in the full path.0
Categories
- All Categories
- 179 LFX Mentorship
- 179 LFX Mentorship: Linux Kernel
- 776 Linux Foundation IT Professional Programs
- 384 Cloud Engineer IT Professional Program
- 175 Advanced Cloud Engineer IT Professional Program
- 76 DevOps IT Professional Program - Discontinued
- 7 DevOps & GitOps IT Professional Program
- 103 Cloud Native Developer IT Professional Program
- 7.7K Training Courses & Learning Paths
- 17 AI & ML Training
- 2 Blockchain & Decentralized Identity Training
- 44 Cloud & Containers Training
- 7 Cybersecurity Training
- 4 DevOps & Site-Reliability Training
- 3 Linux Kernel Development Training
- 2 Networking Training
- 2 Open Source Best Practice Training
- 6 System Administration Training
- 1 System Engineering Training
- 6 Web & Application Development Training
- 798 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 96 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 92 Storage
- 774 Linux Distributions
- 82 Debian
- 68 Fedora
- 24 Linux Mint
- 13 Mageia
- 24 openSUSE
- 151 Red Hat Enterprise
- 32 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 473 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 104 Linux Security
- 79 Network Management
- 102 System Management
- 46 Web Management
- 174 Mobile Computing
- 32 Android
- 127 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 407 Off Topic
- 128 Introductions
- 35 Study Material
- 1.1K Programming and Development
- 312 Kernel Development
- 729 Software Development
- 1K Software
- 421 Applications
- 183 Command Line
- 5 Compiling/Installing
- 71 Games
- 320 Installation
- Archived
- 183 Small Talk
- 2 LFD140 Class Forum
- 1.4K LFS258 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)