dx-packages team mailing list archive
-
dx-packages team
-
Mailing list archive
-
Message #05319
[Bug 1102727] Re: Shortcut launcher make bash to not read .bashrc
>From the bash(1) man page, under the INVOCATION section:
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, if that file exists.
After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The
--noprofile option may be used when the shell is started to inhibit this behavior.
When a login shell exits, bash reads and executes commands from
the file ~/.bash_logout, if it exists.
When an interactive shell that is not a login shell is started, bash reads and executes commands from /etc/bash.bashrc and ~/.bashrc, if these files exist. This may be inhibited by using the
--norc option. The --rcfile file option will force bash to read and execute commands from file instead of /etc/bash.bashrc and ~/.bashrc.
Note that using the -c argument to bash means it's not an interactive
shell.
In short, according to the clear and explicit documentation on the bash
program, the .bashrc file will not be read under the circumstances in
which you're running it.
For additional discussion on how bash handles its startup files, see [1]
and especially [2].
If you want a command line to stick in your shortcut that works, try
gnome-terminal -t "Python 2" -x bash -i -c python2
Since misunderstandings about how to use the bash shell is really not a
bug in Unity, I am reclosing this bug.
[1] http://askubuntu.com/questions/121073/why-bash-profile-is-not-getting-sourced-when-opening-a-terminal
[2] http://superuser.com/questions/183870/difference-between-bashrc-and-bash-profile
** Changed in: unity (Ubuntu)
Status: New => Invalid
** Changed in: unity
Status: New => Invalid
--
You received this bug notification because you are a member of DX
Packages, which is subscribed to unity in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1102727
Title:
Shortcut launcher make bash to not read .bashrc
Status in Unity:
Invalid
Status in “unity” package in Ubuntu:
Invalid
Bug description:
I always had (well, since around Karmic), a shortcut in my
environment, so when I hit ctrl-alt-2, the following snippet would be
executed (or very very similar, now adapted to the python 2/3
duality):
gnome-terminal -t "Python 2" -x bash -c python2
As you can see, this opens a terminal (titled "Python 2") which
executes a bash, that executes python2.
Why not make gnome-terminal to execute directly python2? Because as
I'm executing bash, it'd read the .bashrc file that sets the
PYTHONSTARTUP and PYTHONPATH environment vars. It always worked as I
just described.
After I migrated to Quantal this stopped working. It still executes a
gnome-terminal, ending in the execution of python2 inside it, but
somehow, the .bashrc file is not executed, as the executed Python
doesn't have correctly set sys.path.
ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: unity 6.10.0-0ubuntu2
ProcVersionSignature: Ubuntu 3.5.0-18.29-generic 3.5.7
Uname: Linux 3.5.0-18-generic i686
ApportVersion: 2.6.1-0ubuntu9
Architecture: i386
CompizPlugins: [core,bailer,detection,composite,opengl,decor,mousepoll,vpswitch,regex,animation,snap,expo,move,compiztoolbox,place,grid,imgpng,gnomecompat,wall,ezoom,workarounds,resize,fade,unitymtgrabhandles,scale,session,unityshell]
Date: Mon Jan 21 23:29:59 2013
EcryptfsInUse: Yes
InstallationDate: Installed on 2011-04-19 (644 days ago)
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Beta i386 (20110413)
MarkForUpload: True
SourcePackage: unity
UpgradeStatus: Upgraded to quantal on 2012-10-22 (91 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/unity/+bug/1102727/+subscriptions