【问题标题】:Adding to $PYTHONPATH with bash script使用 bash 脚本添加到 $PYTHONPATH
【发布时间】:2016-11-29 11:35:38
【问题描述】:

我写了一个 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 中,而只是添加变量名。请帮忙!

【问题讨论】:

    标签: linux bash environment-variables


    【解决方案1】:

    使用单引号:

    $ echo 'export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module' >> .bashrc
    $ cat .bashrc 
    export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module
    

    shell 不对单引号字符串执行变量扩展。

    还要注意,如果您正在写信给~/.bashrc,则不需要sudo。用户应该拥有自己的~/.bashrc。此外,正如所写,sudo 命令仅在echo 上运行。重定向>~/.bashrc 使用用户的权限级别完成。由于echo 不需要并且无法从sudo 中受益,sudo 实际上是一个无操作。 [帽子提示:三人组]

    【讨论】:

    • 也许强调 sudo 在这里没有做任何事情是幸运的;如果是这样,您可以创建一个用户以后无法修改的文件。幸运的是,这里的sudo 是完全无操作的,因为重定向会导致用户的shell 在sudo echo 开始执行之前创建文件。
    • @tripleee 很好。使用 sudo-echo 讨论更新答案。
    【解决方案2】:

    试试

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

    另外,您可能需要运行以下命令:

    pip install -r requirement.txt
    

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 2021-06-04
      • 2013-12-02
      • 2021-08-05
      • 2019-05-23
      • 2021-12-27
      • 2019-07-17
      • 2021-07-27
      相关资源
      最近更新 更多