2016-08-24 2 views
0

있음, 나는 부모 디렉토리 또는 파일의 현재 경로를 자동으로 가져와야합니다. 일부 셰프 프레임 워크에서는 chef :: config가 있는데, 자동으로 파일 경로를 취합니다./가정/각본/역할/샘플/작업 만이 스크립트를 복용 : 나는 작업 폴더 내 "file.py"이 경우가능성있는 파일을 사용하여 파일의 현재 경로 가져 오기

e.g: 
    /tasks/main.yml: 

    name: execute cmd 
    command: python file.py 

, 나는 단지처럼 해당 경로에서 내 작전을 실행해야 파일 및 실행 중. 루트 경로에서 실행할 때/home/playbook/path 의미 "해당 파일이나 디렉토리가 없음"

조회를 시도했지만 (env, HOME) 해당 파일 경로와 관련이 없습니다.

그래서 현재 파일 경로를 어떻게 받아 들일지 불안한 ??? 댓글에서

덕분에

+0

내가 잘못 생각한 것 같습니다. 달성하고자하는 것은 무엇입니까? Anabilities는 원격 호스트에서 작업을 실행해야합니다. 스크립트를 거기서 실행해야한다면, 미리 복사하거나'script' 모듈을 사용해야합니다. –

+0

그래서 스크립트 모듈이 자동으로 내 파이썬 스크립트 파일의 경로를 취하고 그것을 실행 ??? – Doefi

+1

'script' 모듈은 먼저 파일을 복사 한 다음 실행합니다. 역할을 사용한다면 스크립트를'roles/my_role/files' 폴더에 두어야합니다. –

답변

2

대답

script 모듈은 먼저 파일을 복사 한 후 실행됩니다. 역할을 사용하는 경우 roles/my_role/files 폴더에 스크립트를 배치해야합니다.

+0

스크립트 모듈은 쉘 스크립트 만 처리합니다.이 질문은 파이썬 스크립트에 관한 것입니다. – smiller171

+0

@ smiller171 올바른 셰방을 지정하는 한 임의의 스크립트를 실행할 수 있습니다. py 스크립트의 시작 부분에'#!/usr/bin/env python'을 추가하기 만하면 성공적으로 실행될 것입니다. –

관련 문제