我有这个bash脚本,假设将当前目录中的virtualenv cd
激活到另一个文件夹并执行命令,即导出pythonpath并打印pythonpath变量。这是脚本:
#!/bin/bash
source venv/bin/activate
(cd cool/subcool && export PYTHONPATH=`pwd`:$PYTHONPATH)
echo $PYTHONPATH
当我执行它时,我只得到一个空白行,即$PYTHONPATH
为空并且没有激活virtualenv。我是bash脚本的新手。什么方法可以使这项工作?感谢
答案 0 :(得分:1)
这个怎么样:
foo.rc
但是您应该将此文件命名为source
或类似文件,然后source
,而不是将其命名(使用.
或source foo.rc
,这是相同的):
{{1}}
否则它不会影响你的调用shell。
答案 1 :(得分:1)
cd
对于添加变量路径似乎有些过分。为什么不使用readlink -f
?
source venv/bin/activate
export PYTHONPATH="$(readlink -f cool/subcool):$PYTHONPATH"
echo "$PYTHONPATH"