.
source
まったく同じことを行いますが、唯一の違いはsource
、読みやすくなりますが、すべてのシェルで使用できるとは限らないことです。
コマンドは現在のシェル内でスクリプトの内容を実行します。これは、の場合に重要ですactivate
。スクリプトが実行することの1つは、現在のシェル内の環境変数をエクスポートおよび変更することだからです。
を使用して実行する場合./path/to/activate
、スクリプトはサブシェル内で実行され、スクリプトが完了してサブシェルが終了すると、設定されているすべての環境変数が失われます。
また、1番については、「。」ではありません。現在のフォルダを意味しますか?
.
文脈によって意味が異なります。パス(またはパスの一部)として使用される場合にのみ、「現在のフォルダ」を意味します。
http://en.wikipedia.org/wiki/Dot_%28Unix%29から:
dotコマンドは、ドットプレフィックス付きの隠しファイルまたは隠しディレクトリであるドットファイルと混同しないでください。
余談ですが、これを見て、はるかに使いやすくvirtualenvwrapper
する追加のラッパーコマンドを提供することをお勧めします。virtualenv
を使用virtualenvwrapper
すると、環境への切り替えは次のように呼び出すだけで実行されます。
workon YOUR_ENV