Fabric (Ubuntu 13.04 のバージョン 1.7.0) で問題が発生しています。
この関数を考えてみましょう:
def does_not_work():
with cd('/absolute/folder/one/'):
with prefix('change_path_command'):
with cd('/absolute/folder/two/'):
run('some_random_command')
次と同じコマンドを実行することを期待しています:
def works():
run('cd /absolute/folder/one/ && change_path_command && cd /absolute/folder/two/ && some_random_command')
ただし、以下は の Fabric 出力ですfab does_not_work
。
Requested: some_random_command
Executed: /bin/bash -l -c "cd /absolute/folder/two/ && change_path_command && some_random_command"
ネスティングcd
s が問題を引き起こしているようです。
良い説明はありますか?