SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I know this sound very stupid but I got to ask because I am out of idea ,I use to be a mandrake user and suddenly I decide to change to slackware and I like what I found.
But I had been finding .bashrc in slackware and I can't seem to find it ,I try all the data base search command but there is just no .bashrc .So could any of you guy tell me what to do if I want to add some vauable to my bash file?
Thanks man
That really help me a lot , as you guys said .bashrc only work for root and not for normal user ,I guess I got to go a long with .bash_profile for my normal user.I was trying to add some enveroment variable PATH to my bash file .In mandrake I can just open the .basrc in /home/~/.bashrc but in slackware the file didn't
didn't exist at all.My experience with linux is still in newbie level but I always thought that bash shell PATH file got to be kept in that .bashrc.I am having a lot of problem with slackware but this one is really worth it.I gave up mandrake and fedore althought it is less painful to operate.
When bash is invoked as an interactive login shell, or as a non-interactive shell
with the --login option, it first reads and executes commands from the file
/etc/profile, After reading that file, it looks for ~/.bash_profile...
When an interactive shell that is not a login shell is started, bash
reads and executes commands from ~/.bashrc
So when you enter in runlevel 3 and then login, bash will read ~/.bash_profile,
but if you startx and then open a new terminal without -ls switch, then bash will read ~/.bashrc...
As gbonvehi said, if you want ~/.bashrc loads no matter if it is at login or when
open a new terminal, just create a ~/.bash_profile like this :
Code:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
So if there is a ~/.bashrc in your home directory it will be loaded at login or when
open a non-login shell
Something you might want to note is that BASH loads configuration/init files in roughly this order:
/etc/profile (global settings)
/etc/inputrc (global settings)
/etc/profile.d (global settings)
/etc/bashrc (global settings, but only read if "sourced" from another configuration file -- not created in slackware by default, but very useful for path settings, etc.)
~/.bash_profile (user-specific settings)
~/.bashrc (user-specific settings, but only read if "sourced" from another file, like Cedrik says)
~/.bash_login (user-specific settings to be executed upon login, such as greetings, etc.)
If you would like to apply settings from /etc/bashrc, it's best to put "source /etc/bashrc" at the BEGINNING of ~/.bash_profile or ~/.bashrc . This will load all the global variables from /etc/bashrc but allow your user-specific settings to override them. You can find more indespensible information on BASH and other cool Linux stuff at http://www.tldp.org/guides.html . Good luck with your new Slackware installation!
When bash is invoked as an interactive login shell, or as a non-interactive shell
with the --login option, it first reads and executes commands from the file
/etc/profile, After reading that file, it looks for ~/.bash_profile...
When an interactive shell that is not a login shell is started, bash
reads and executes commands from ~/.bashrc
So when you enter in runlevel 3 and then login, bash will read ~/.bash_profile,
but if you startx and then open a new terminal without -ls switch, then bash will read ~/.bashrc...
As gbonvehi said, if you want ~/.bashrc loads no matter if it is at login or when
open a new terminal, just create a ~/.bash_profile like this :
Code:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
So if there is a ~/.bashrc in your home directory it will be loaded at login or when
open a non-login shell
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.