简体   繁体   中英

Adding to $PYTHONPATH with bash script

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!

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]

try

echo 'export PYTHONPATH=/path/to/caff-dir/python'

Also, you may need to run following:

pip install -r requirement.txt

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM