gpt4 book ai didi

linux - 运行影响父 shell 的 bash 命令

转载 作者:太空宇宙 更新时间:2023-11-04 09:20:21 25 4
gpt4 key购买 nike

我有这个 bash 脚本,假设在当前目录中激活 virtualenv,cd 到另一个文件夹并执行命令,即导出 pythonpath 并打印 pythonpath 变量。这是脚本:

#!/bin/bash

source venv/bin/activate
(cd cool/subcool && export PYTHONPATH=`pwd`:$PYTHONPATH)
echo $PYTHONPATH

当我执行它时,我只得到一条空白行,即 $PYTHONPATH 是空的,没有激活 virtualenv。我是 bash 脚本的新手。使这项工作可行的方法是什么?谢谢

最佳答案

这个怎么样:

source venv/bin/activate
PYTHONPATH=$(cd cool/subcool && echo $(pwd):$PYTHONPATH)
echo $PYTHONPATH

但你应该将此文件命名为 foo.rc 或类似名称,然后 source 而不是调用它(使用 source . 是一样的):

source foo.rc

否则它不会影响您的调用 shell。

关于linux - 运行影响父 shell 的 bash 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42645901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com