2013-02-22 3 views
-1

소프트웨어가 최신 버전인지 확인하고 소프트웨어 업그레이드를 수행하기 위해 bash 스크립트를 호출하는 데 사용되는 TCP 클라이언트/서버를 만들었습니다. 나는 내가 오류를 얻을 리눅스 나 맥 기반 클라이언트에서 이것을 사용하려고하면이, 그러나 Cygwin에서Python 3 : Python 스크립트 내에서 Bash 스크립트 시작

에서 클라이언트를 아래의 코드를 사용하여 시작 Windows에서 성공적으로
subprocess.call("windowsUpgrade.sh", shell=True) 

을 일을 가지고

/bin/sh: linuxUpgrade.sh: not found 

/bin/sh: macUpgrade.sh: command not found 

이 문제의 원인과 해결 방법에 무엇에 어떤 아이디어? 감사

+0

현재로 표시되어 있는지 확인 작업 디렉토리 차이점? 그 스크립트의 상단에 해시 뱅 (hash-bang) 라인이 있는지 확실합니까? 올바른 위치에 있습니까? –

+0

그들은 맨 위 (#!/bin/bash)에 해시 뱅 (hash-bang) 행을 가지고 있으며, 이들은 Linux의 루트이고 Mac의 데스크탑 인 클라이언트와 동일한 디렉토리에 있습니다. – Metagen

답변

1

현재 디렉토리에 실행 파일이 검색 한 PATH 변수에, 시도하지 기본적으로이다 :, 또한

subprocess.call("./linuxUpgrade.sh", shell=True) 

을 스크립트가 실행

chmod u+x linuxUpgrade.sh 
관련 문제