I wrote a bash script to add to my $PYTHONPATH
. My .sh
file has the following:
sudo echo export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module >> ~/.bashrc
What I want to be added to my .bashrc
is:
PYTHONPATH=$PYTHONPATH:/path/to/new/python/module
However I can only get it to add:
PYTHONPATH=/all/other/python/modules/already/on/path:/path/to/new/python/module
I don't want the actual $PYTHONPATH
value to be added to my .bashrc
, just the variable name. Please help!
If you are using the standard flavour of Linux, open up the bash shell and type the following phrase, export PATH=”$PATH:/usr/local/bin/python” and press Enter. If you have access to either sh or ksh shell, then open up the terminal and type the following, PATH=”$PATH:/usr/local/bin/python” and press Enter.
Use single-quotes:
$ echo 'export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module' >> .bashrc
$ cat .bashrc
export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module
The shell does not perform variable expansion on single-quoted strings.
Note also that, if you are writing to ~/.bashrc
, you should not need sudo
. A user should own his own ~/.bashrc
. Further, as written, the sudo
command only operated on echo
. The redirection >~/.bashrc
is done with the user's level of permission. Since echo
has no need of and gets no benefit from sudo
, sudo
is a practically a no-op. [Hat tip: tripleee]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With