2016-04-12 3 views
0

Я пытаюсь выполнить скрипт bash на своей локальной машине. Расположение скрипта: /opt/saas/script.sh. Ниже приведена функция выполнения скрипта.Python fabric не является исполняющим скриптом локально

# Run script on local machine. 
def run_local_script(self, path, script): 
    print("Path:"+path) 
    with cd(path): 
     local('.' + script) 

Но каждый раз, когда я запускаю это, я получаю это.

Path is: /opt/saas/ 
[localhost] local: ./update_services.sh 
/bin/sh: 1: ./update_services.sh: not found 

Fatal error: local() encountered an error (return code 127) while executing './update_services.sh' 

Aborting. 

Примечание: Я пытаюсь запустить сценарий локально с предварительно установленным соединением с удаленной машиной. Надеюсь, это не должно сказаться. Я также попытался запустить скрипт после disconnect_all(), но все равно не успел.

ответ

0

Используйте вместо этого контекстный менеджер (см. Note).

# Run script on local machine. 
def run_local_script(self, path, script): 
    print("Path:"+path) 
    with lcd(path): 
     local('.' + script) 
+0

Это работает! Благодаря :) –