backticks를 사용하여 Perl에서 Linux 명령을 실행하려고합니다. 나는 리눅스에서 직접 실행할 때 작동하지만 펄 역 따옴표를 통해 수행 할 때이 오류가 얻을 :터미널에서 작동하더라도 왜 백틱에서 구문 오류가 발생합니까?
sh: -c: line 0: syntax error near unexpected token `>'
sh: -c: line 0: `(/src/storageUtil --diagnostic 2> >(tee >(cat >&2) >&1)) > log.txt'
문제의 코드 줄은 다음과 같습니다에 관한
가$output = `(/src/storageUtil --diagnostic 2> >(tee >(cat >&2) >&1)) > log.txt`;
어떤 통찰력을 무엇 이 오류가 크게 감사하게 될 수도 있습니다.
감사
아마도 명령 행에서'bash'를 사용하여 코드를 테스트했지만 Perl에서 호출 할 때'sh'를 통해 실행하려고합니다. –
당신은 절대적인 천재입니다 – user3307598
파일 리다이렉션을 권 해드립니다. 일반적으로 파이핑을위한 실행 파일을 열어 놓은 다음 쉘로 아웃소싱하는 것이 아니라 파일을 직접 처리하는 것이 좋습니다. – Sobrique