2017-02-06 6 views
0

ファブリックに変数を渡す方法を把握しようが、ある問題:しかしファブリックに変数を渡す?

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

CLI経由でこれを実行しようとして渡し、それは以下のように現れる:

[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" 

それを入力しますas

fab installpatch:'vi' 

は違いがありません。助言がありますか?私はちょうどスーパーシンプルな何かを欠いていると仮定しています。

目的:複数のPCに特定のソフトウェアをインストールするために変数/名前を渡すことができるファブリックコマンドを作成できるようにする。文字列と組み合わせたとき、あなたの質問で

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

または

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

%演算子のみ動作します。

答えて

3

は、次の試してみてください。

+1

最初の内側の括弧は必要ありません。 –

+1

最初のものを使用し、それは魅力のように働いた! – elderusr07