2017-09-28 6 views
0

bashスクリプトにsourceコマンドを入れて、djangoのWebサイトを書くときに仮想環境をすばやく設定して使用しようとしています。bashスクリプトのソースコマンド

プロンプトで単にパスを入力したときと同じように、パスにプレフィックスが付けられていないので、私はあまり成功していないので、以下のことを試しました。

#!/bin/bash 
current=$(pwd | cut -d'/' -f5) 
source ~/Documents/virtual-env/$current/bin/activate 

私が見落としているものは誰でも助けてくれますか?

EDIT:

PWDは "例" であり、ソースは次のとおり
"~/Documents/virtual-env/example/bin/activate"。私は環境が作成されますが、私は今は不可能であると考えている親的環境にesculatedされていないと思うよう
"source ./script"

(動作しない):

いくつかの研究の後、私はのようなものを使用する必要があると思います。

+0

スクリプト内からの 'pwd'の出力は何ですか?そして、あなたがソースにしようとしている対応するパスは何でしょうか?少なくとも1つの例を示します。 –

+0

pwdは "example"であり、ソースは "〜/ Documents/virtual-env/example/bin/activate"です。いくつかの研究の後、私は環境が作成されていると思っていますが、現時点では不可能と思われる親環境にエスケープされていないと思うので、 "source ./script"(動作しません) –

+2

ええ、(子プロセスで起こる)スクリプトを実行して親環境を変更することはできません。ソースを用意する必要があります。しかし、あなたがしようとしていることはまだ正確には不明です。 –

答えて

0
#!/bin/bash 
current=$(basename $(pwd)) 
source ~/Documents/virtual-env/$current/bin/activate 
exec bash # Run new interactive shell in the new environment 

代わりにvirtualenvwarpperを試してみることをおすすめします。