2016-09-21 7 views
2

私はnvmhttps://github.com/creationix/nvm)を使用しています。これは本質的にシェルに入ってから、例えばnvm install [version]を呼び出すシェルスクリプトです。しかし、私がその機能をどのように試して呼んでも、無能な人はそれを見つけることができないようです。どのようにシェルの関数をAnsibleのコマンドとして実行するのですか?

私はcommandshellモジュールを使ってみました。私はbecomebecome_userを使って試しました。私はsudo -iuhttps://github.com/leonidas/ansible-nvm/blob/master/tasks/main.ymlのように使ってみましたが、私にとってはうまくいきません。それはそのファイルで動作するので、可能でなければならない。

どのようにすれば、Anipalで任意のシェル関数を実行できますか?この場合私はsource nvm.shを私の.zshrcに持っていて、私はnvmのコマンドを対話的なシェルからうまく実行することができます。

答えて

5

シェルコマンドを実行する必要があるため、shellモジュールを使用する必要があります。そのため、nvmスクリプトをその環境にソースする必要があります。ような何か:

- shell: | 
    source /path/to/nvm 
    nvm install ... 

あなたがbecomeを使用するかどうかは、あなたがroot(または別のユーザー)としてコマンドを実行するかどうかに依存します。

関連する問題