Language

php์™€ shell script ๋™์‹œ์— ์‚ฌ์šฉํ•˜๊ธฐ

๐“›๐“พ๐“ฌ๐“ฎ๐“ฝ๐“ฎ_๐“ข๐“ฝ๐“ฎ๐“ต๐“ต๐“ช 2023. 1. 7.
728x90
๋ฐ˜์‘ํ˜•

ํ•ด๋‹น ๋ธ”๋กœ๊ทธ๋Š” ํ•ดํ‚น ๋ฐ ๋ณด์•ˆ ๋ธ”๋กœ๊ทธ๋กœ ๊ณต๋ถ€ ๋ฐ ์—ฐ๊ตฌ์šฉ์œผ๋กœ ์ž‘์„ฑ๋˜์–ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ดํ‚น ์‹œ๋„ ๋ฐ ์‹ค์ œ ๊ณต๊ฒฉ์„ ์‹œ๋„ํ•˜์—ฌ ์ผ์–ด๋‚˜๋Š” ๋ชจ๋“  ์ฑ…์ž„์€ ๋ณธ์ธ(๋”ฐ๋ผํ•œ์ž)์—๊ฒŒ ์žˆ์Œ์„ ์•Œ๋ ค๋“œ๋ฆฌ๋ฉฐ, ๊ธ€์“ด์ด๋Š” ์•„๋ฌด๋Ÿฐ ์ฑ…์ž„์„ ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ผญ ๊ณต๋ถ€ ๋ฐ ์—ฐ๊ตฌ์šฉ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์—…๋ฌด๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ ์–ด์ฉ”์ˆ˜์—†์ด ๊ฐœ๋ฐœ์„ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๊ฐœ๋ฐœ์˜ '๊ฐœ'๋„ ๋ชฐ๋ฅด๋Š”๋ฐ ์–ด์ฐŒ์–ด์ฐŒ ๊ฐœ๋ฐœ์„ ํ•˜๊ธดํ•œ๋‹ค...

์ตœ๊ทผ์— ์—…๋ฌด๋ฅผ ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ผ์ด ์žˆ์—ˆ๋‹ค.

์‹ค์งˆ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ ์–ธ์–ด๋กœ๋Š”

front : html, css ,javascript

back : php

data : javascript, python, shell script ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

 

php๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„์—์„œ ์ง์ ‘์ ์œผ๋กœ ๋ช…๋ น์„ ๋‚ด๋ฆฌ๊ฑฐ๋‚˜ ์‹คํ–‰ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ด ์žˆ์—ˆ๋‹ค.

๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๊ฒ ์ง€๋งŒ ๋‚˜๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์‰ฌ์šด ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

<?php
	ehco "linux ๋ช…๋ น์–ด ์‹คํ–‰";
    shell_exec('ls'); // ์ฒซ๋ฒˆ์งธ
    exec('ls'); // ๋‘๋ฒˆ์งธ
    system('ls'); // ์„ธ๋ฒˆ์งธ
?>

์ด๋ ‡๊ฒŒ 3๊ฐœ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ํŠนํžˆ shell_exec ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด๋Š” ์ €๋ ‡๊ฒŒ ์‹คํ–‰ํ•˜๋ฉด ๋˜๊ณ  ์ถ”๊ฐ€์ ์ธ .sh์˜ ํŒŒ์ผ์„ ์‹คํ–‰ํ•ด์•ผํ•˜๊ฑฐ๋‚˜ ํ• ๋•

<?php
echo ".sh ์‹คํ–‰";
shell_exec('bash /home/test/test.sh');
?>

์ด๋Ÿฐ์‹์œผ๋กœ ์‹คํ–‰์‹œํ‚ค๋ฉด ์„œ๋ฒ„์—์„œ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ์—„์ฒญ์‰ฝ์ง€๋งŒ ๋ฐ˜๋Œ€๋กœ php์—์„œ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด ์‹คํ–‰์‹œํ‚ฌ ์ผ์ด ๋ญ์žˆ์–ด?

ํ•˜๊ฒ ์ง€๋งŒ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€๊ฒƒ ๊ฐ™๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€