用bash脚本添加到$ PYTHONPATH
问题描述:
我写了一个bash脚本添加到我的$PYTHONPATH
。我.sh
文件有以下几点:
sudo echo export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module >> ~/.bashrc
我想添加到我的.bashrc
是:
PYTHONPATH=$PYTHONPATH:/path/to/new/python/module
但是我只能得到它补充:
PYTHONPATH=/all/other/python/modules/already/on/path:/path/to/new/python/module
我不不希望将实际的$PYTHONPATH
值添加到我的.bashrc
,只是变量名称。请帮忙!
答
使用单引号:
$ echo 'export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module' >> .bashrc
$ cat .bashrc
export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module
外壳不执行对单引号字符串变量扩展。
还请注意,如果您正在写入~/.bashrc
,您不应该需要sudo
。用户应该拥有自己的~/.bashrc
。此外,正如所写,sudo
命令仅在echo
上运行。重定向>~/.bashrc
以用户的权限级别完成。由于echo
对sudo
没有需要也没有获益,所以sudo
实际上是不适用的。 [帽子提示:tripleee]
这样做。谢谢! – cmoses
也许强调,'sudo'在这里什么都不做;如果是这样,你可以创建一个用户以后不能修改的文件。幸运的是,在这里,'sudo'是一个完全不可操作的,因为重定向会导致用户的shell在'sudo echo'开始执行之前创建文件。 – tripleee
@tripleee非常好的一点。回答更新sudo-echo讨论。 – John1024