2016-09-21 6 views
2

nvm (https://github.com/creationix/nvm)을 사용하고 있습니다.이 쉘은 본질적으로 쉘에 입력 한 다음 예를 들어 nvm install [version]을 호출하는 쉘 스크립트입니다. 그러나 내가 그 기능을 어떻게 시도하고 부르더라도, 책임감이 그것을 찾지 못하는 것 같습니다.셸 함수를 Ansible에서 명령으로 실행하는 방법은 무엇입니까?

commandshell 모듈을 사용해 보았습니다. becomebecome_user을 사용해 보았습니다. 나는 sudo -iuhttps://github.com/leonidas/ansible-nvm/blob/master/tasks/main.yml과 같이 사용하려고 시도했지만 나에게는 적합하지 않습니다. 그것은 그 파일에서 작동하기 때문에 가능해야합니다.

어떻게해야합니까에서 셸 함수를 실행할 수 있습니까? 이 경우에는 내 .zshrc에 source nvm.sh이있어 대화 형 쉘에서 nvm 명령을 실행할 수 있습니다.

답변

5

셸 명령을 실행하기 때문에 shell 모듈을 사용해야하며 nvm 스크립트를 해당 환경에 제공해야합니다. 같은 : 당신이 become를 사용 여부

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

root (또는 다른 사용자)로 명령을 실행할지 여부에 따라 달라집니다.

관련 문제