如何使用fabric.context_managers.prefix()中fabric.api.local()返回的值

时间:2017-01-25 17:05:55

标签: python fabric

如何获取local()文件夹的位置,并使用prefix()

执行此文件夹中的命令

我的代码:

from fabric.api import local
from fabric.context_managers import prefix


def deploy_user_service():
    directory = str(local("find ~ -type d -name \"user-service\"", capture=True))
    cd_prefix = "cd " + directory
    with prefix(cd_prefix):
        local("mvn clean package")

我的执行:

➜  user-service git:(user-service-deploy-script) ✗ fab deploy_user_service
[localhost] local: find ~ -type d -name "user-service"
[localhost] local: mvn clean package
/bin/sh: line 1: /Users/raitis.dembovskis/ww/user-service: is a directory

Fatal error: local() encountered an error (return code 126) while executing 'mvn clean package'

Aborting.

似乎最终传递给prefix()的值只有"/Users/raitis.dembovskis/ww/user-service"而没有"cd "

0 个答案:

没有答案