I have some questions regarding bash and my initializer files:
when I look at my bashrc file, I see lots of "export".. export MAGICK_HOME="$HOME/bin..etc".. what does export really mean?
in my bashrc, I have a line: "umask 0002" ... what does that do?
I have a bash_profile which apparently i not being called when I open a new terminal window in x11. (it has echo "welcome" stuff that I never see). Also in it, I have: if [ -f ~/.bashrc ]; then . ~/.bashrc fi --- what does that mean?.. Also, it has PATH=$HOME/bin:$PATH .. which my bashrc file also had PATH=... so, should only one of these files have path and export in it?
since my bash_profile wasn't being read, I added to my bashrc file (which is being read) . ~/.bash_profile ... when I opened a new window, my greeting message in bash_profile repeated over and over and over and over until I hit ctrl-c.. Why is it looping that?
export [-fn] [name[=word]] ...
export -p
The supplied names are marked for automatic export to the environment of
subsequently executed commands. If the -f option is given, the names refer
to functions. If no names are given, or if the -p option is supplied, a
list of all names that are exported in this shell is printed. The -n option
causes the export property to be removed from each name. If a variable name
is followed by =word, the value of the variable is set to word. export
returns an exit status of 0 unless an invalid option is encountered, one of
the names is not a valid shell variable name, or -f is supplied with a name
that is not a function.
umask [-p] [-S] [mode]
The user file-creation mask is set to mode. If mode begins with a digit, it
is interpreted as an octal number; otherwise it is interpreted as a symbolic
mode mask similar to that accepted by chmod(1). If mode is omitted, the
current value of the mask is printed. The -S option causes the mask to be
printed in symbolic form; the default output is an octal number. If the -p
option is supplied, and mode is omitted, the output is in a form that may be
reused as input. The return status is 0 if the mode was successfully
changed or if no mode argument was supplied, and false otherwise.
--noprofile
Do not read either the system-wide startup file /etc/profile or any of the
personal initialization files ~/.bash_profile, ~/.bash_login, or ~/.profile.
By default, bash reads these files when it is invoked as a login shell...
As to point 4, you said in point 3 that your .bash_profile called .bashrc. So when you called your .bash_profile from your .bashrc, .bash_profile called .bashrc. And .bashrc called .bash_profile, which called....
Thank you for your reply.. Unfortunately reading those man entries did not explain anything to me. I just am not familiar with the terminology I guess..
What does that mean??? I read that paragraph 5 times and I have no idea what I am reading. Could you please give me some examples of what exporting does and how it's useful?
what is a "file-creation mask"? I googled this and the best I could find was that it sets the default permissions for a file.. But that umask line is set to 0002.. which is no permission I've ever seen before.. I'm used to seeing chmod 644, 755, 777, etc.. ?
So, ok that made sense.. I realized that I needed to set x11 to do "xterm -ls" and that fixed it.
Ok, so is it normal for bash_profile to call bashrc? Or should I remove that from my bashrc?
What is the purpose of exporting these variables? What is referencing MANPATH, INFOPATH, MAGICK_HOME, DYLD_LIBRARY_PATH? Are these necessary to have? the test -r line.. I know that is something that my fink installer added-- so I guess I want that, but what does that mean exactly?
.. Ok-- so, if I don't have this umask 0002 line, what would my permissions be set to? Is it standard to have this line in your bashrc, and is 0002 the best thing to have it set to?
thank you very much for the help and explanations.