2012-08-14 2 views
1

웹 브라우저에서 실행되는 JavaScript 코드에서 서버 측 스크립트 (.sh 파일)의 실행을 트리거하려고합니다.클라이언트 측 자바 스크립트 함수를 통해 서버 측 프로그램 (쉘 스크립트)의 실행을 트리거하는 방법은 무엇입니까?

Google을 검색했으며 찾은 코드가 저에게 효과적이라고 생각하지 않습니다.

+0

당신은 서버 측 JavaScript를 의미합니까? –

+0

서버 또는 브라우저에 있습니까? 그리고 브라우저에 있다면 sh 파일은 사용자의 컴퓨터 또는 서버에 어디에 있습니까? 더 많은 정보가 필요합니다. – slebetman

+0

는 내가 브라우저에서 버튼을 누르고 쉬 파일 및 SH 파일이 클라이언트 측 JS 경우 내 서버에 –

답변

0

자바 스크립트가 특히 .sh 개 파일을 열지는 모르겠지만 filereader API를 사용하여 일반적으로 파일을 열 수 있습니다.

+0

내가 html로 그것을 실행하려면 버튼을 눌러 사용해야합니다. 그래서 나는 그것에 대해 전혀 모른다. – user1502809

2

먼저 .sh 파일을 실행하는 서버 측 언어 (예 : PHP, Python, RoR, PERL, ASP.NET 또는 JSP)로 파일을 만들어야합니다. 그런 다음 Ajax를 사용하여 해당 페이지를 요청해야합니다. 같은

PHP에서

, 뭔가 :

<?= shell_exec('sh /home/user/public_html/scripts/script.sh'); ?>

그런 다음, JS를 들어, 같은 : 당신이 jQuery를 또는 Ajax를 사용하지 않으려면

<script src="//code.jquery.com/jquery-1.8.0.min.js"></script> 
<script> 
var runShellScript = function() { 
    $.get('/scripts/script.php', function() { 
     alert('Shell script done!'); 
    }); 
}; 

// Some stuff 
runShellScript(); 
</script> 

하면, 당신은 아마 얻을 수 멀리 JSONP.

+0

나는 script.php를 실행할 수 없다. 나는 아파치를 사용하고있다. – user1502809

+0

아파치는 PHP 파일을 실행시켜야한다. –

+0

"/scripts/script.php"의 기본 경로는 무엇입니까? – yildizabdullah

1

저는 이것을 클라이언트 측 JavaScript로 직접 할 수 없다고 생각합니다. 그러나, 서버 측 언어 (PHP, Java, Ruby ... 거의 모든 언어)가 작업을 수행 할 수 있도록 URL 요청을 호출 할 수 있습니다. 그리고 보안 문제를 고려해야합니다.

1

당신이 파일을 .sh가 있는지 확인로 시작 :

#!/bin/sh 
echo "Content-type: text/html" 
echo "" 

와 htaccess로 파일은 파일 .sh로 실행하도록 설정되어 : 그럼 당신은 단순히에서 파일을 호출 할 수 있습니다

Options +ExecCGI 
AddHandler cgi-script sh 

을 XMLHttpRequest를 사용하는 URL. http://en.wikipedia.org/wiki/XMLHttpRequest 그리고 어쩌면 스크립트에서 일부 json 객체를 반환하도록 할 수도 있습니다.

관련 문제