CentOS 7.0을 사용 중이며 Pydev 환경에 Eclipse Kepler를 설치했습니다.Eclipse의 Pydev 환경에서 쉘 스크립트를 실행할 수 없습니다.
import subprocess
subprocess.call(["./test1.csh"])
이 C 쉘 스크립트는 터미널에서 실행하고 나는 "LS"또는 "같은 명령을 실행하는 경우에도"PWD가 나는 올바른 얻을 다음과 같이 파이썬 사용하여 하위 프로세스를 통해 간단한 C 쉘 스크립트를 실행하려면 출력 예 내가 subprocess.call을 실행할 때
subprocess.call(["ls"]) # give me the list of all files
subprocess.call(["pwd"]) # gives me the location of current directory.
그러나 ([ "./ test1.csh"]), 나는 다음과 같은 오류 얻을 :
Traceback (most recent call last):
File "/home/nishant/workspace/codec_implement/src/NTTool/raw2waveconvert.py", line 8, in <module>
subprocess.call(["./test1.csh"])
File "/usr/lib64/python2.7/subprocess.py", line 524, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child
raise child_exception
OSError: [Errno 13] Permission denied
는 어디서 잘못된 것입니까? 제발 제안
이 스크립트의 실행 비트를 설정 했습니까? 'chmod + x test1.csh'? 첫 번째 줄에는 적절한 [shebang] (http://en.wikipedia.org/wiki/Shebang_%28Unix%29)이 있습니까? –
질문에서 언급했듯이 터미널에서 실행 중입니다. 즉, c 쉘 터미널이며 파일도 실행 가능합니다. – nprak
@nprak :'subprocess.call()'은 기본적으로 어떤 쉘도 실행하지 않습니다. 'test1.csh'의 상단에'#!/bin/sh'가 보이십니까? – jfs