2017-02-06 16 views
0

Пытаясь выяснить, как передать переменную ткани, но имеющие проблемы:Передача переменной в ткань?

def installpatch(install): 
sudo("apt-get install %s") % install 

Однако при переходе пытается выполнить это с помощью интерфейса командной строки, он показывает, как показано ниже:

[email protected]: fab installpatch:vi 
Fatal error: sudo() received nonzero return code 100 while executing! 
Requested: apt-get install %s 
Executed: sudo -S -p 'sudo password:' /bin/bash -l -c "apt-get install %s" 

Ввод его как

fab installpatch:'vi' 

не имеет значения. Какие-либо предложения? Я предполагаю, что я просто пропустил что-то супер простое.

Цель: создать конструкцию ткани, которая позволяет мне передать ей переменную/имя, чтобы установить определенную часть программного обеспечения на нескольких ПК.

ответ

3

Попробуйте следующее:

sudo(("apt-get install %s") % install) 

или

sudo("apt-get install {}".format(install)) 

оператору% в вашем вопросе работает только в сочетании со строкой.

+1

Вам не нужны внутренние парады в первом. –

+1

Используется первый, и он работал, как очарование! – elderusr07