無法理解如何執行某些操作,我認爲這對Fabric應該很直觀。我想捕獲遠程執行命令產生的stdout,然後在隨後的遠程調用中使用結果。插入結構命令的字符串輸出時出現的奇怪問題
但是,我收到了真正無法理解的錯誤。我感覺到我在做什麼有很多問題,但我不知道從哪裏開始。也許有人可以幫我把這件事分開。
我有什麼:
...
with cd(env.repo):
abbrev_hash = run('git log -1 --pretty="%h"')
run("rsync -r --exclude '.git/*' %s %s" % (env.repo, abbrev_hash))
...
相關的輸出:
[cookcountyjail.recoveredfactory.net] run: git log -1 --pretty="%h" [cookcountyjail.recoveredfactory.net] out: [cookcountyjail.recoveredfactory.net] out: c6d4ea0 [cookcountyjail.recoveredfactory.net] out: [cookcountyjail.recoveredfactory.net] out: [cookcountyjail.recoveredfactory.net] run: rsync -r --exclude '.git/*' > /home/ubuntu/repos/cookcoc6d4ea0l_2.0-dev
[cookcountyjail.recoveredfactory.net] out: /bin/bash: -c: line 1: syntax error near unexpected token
newline' [cookcountyjail.recoveredfactory.net] out: /bin/bash: -c: line 1:
[cookcountyjail.recoveredfactory.net] out: ' [cookcountyjail.recoveredfactory.net] out:Fatal error: run() received nonzero return code 1 while executing!
c6d4ea0ed: rsync -r --exclude '.git/*' /home/ubuntu/repos/cookcountyjail_2.0-dev
Executed: /bin/bash -l -c "cd /home/ubuntu/website/2.0/websites && export PATH=\"\$PATH:\"/home/ubuntu/website/2.0/websites/active\"\" && rsync -r --exclude '.git/*' /home/ubuntu/repos/cookcouc6d4ea0_2.0-dev "
順便說一句,我意識到,我可能只是通過某種手段輸出重定向或另一個在bash shell裏面,但我真的很想理解更好的織物。 –