.bat VS .sh VS .ps1

HelloPongยท2025๋…„ 8์›” 6์ผ

๊ณต๋ถ€

๋ชฉ๋ก ๋ณด๊ธฐ
15/39
post-thumbnail

๐Ÿงพ ์Šคํฌ๋ฆฝํŠธ ํ™•์žฅ์ž ์™„์ „์ •๋ณต!

๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด .bat, .sh, .ps1 ๊ฐ™์€ ํ™•์žฅ์ž ํŒŒ์ผ์„ ๋งˆ์ฃผ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ด ์„ธ ๊ฐ€์ง€๋Š” ์–ธ์ œ, ์–ด๋””์„œ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ์š”?


๐Ÿ“Œ 1. ํ™•์žฅ์ž ๋น„๊ต ํ‘œ

ํ™•์žฅ์ž์ฝ๋Š” ๋ฒ•ํ”Œ๋žซํผ์‹คํ–‰ ํ™˜๊ฒฝ์ฃผ ์šฉ๋„
.bat๋ฐฐ์น˜ ํŒŒ์ผ (batch file)WindowsCMD๊ฐ„๋‹จํ•œ ์ž๋™ํ™”
.sh์‰˜ ์Šคํฌ๋ฆฝํŠธ (shell script)Linux/macOSbash/zsh์„œ๋ฒ„ ์Šคํฌ๋ฆฝํŠธ, ๋ฐฐํฌ
.ps1ํŒŒ์›Œ์…ธ ์Šคํฌ๋ฆฝํŠธ (PowerShell Script)Win/Linux/macPowerShell์‹œ์Šคํ…œ ๊ด€๋ฆฌ ์ž๋™ํ™”

โš™๏ธ 2. ์‹คํ–‰ ๋ฐฉ๋ฒ•

ํ™•์žฅ์ž์‹คํ–‰ ๋ฐฉ๋ฒ•
.bat๋”๋ธ” ํด๋ฆญ ๋˜๋Š” cmd์—์„œ ์‹คํ–‰
.shchmod +x ํŒŒ์ผ.sh ํ›„ ./ํŒŒ์ผ.sh ์‹คํ–‰
.ps1powershell ./ํŒŒ์ผ.ps1 ๋˜๋Š” .\ํŒŒ์ผ.ps1 ์‹คํ–‰ (ExecutionPolicy ์„ค์ • ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ)

๐Ÿ” 3. ์ฝ”๋“œ ์˜ˆ์ œ๋กœ ๋ณด๋Š” ์ฐจ์ด

โ–ถ .bat ์˜ˆ์‹œ (Windows์šฉ)

@echo off
echo Hello from BAT
pause

โ–ถ .sh ์˜ˆ์‹œ (Linux/macOS์šฉ)

#!/bin/bash
echo "Hello from SH"

โ–ถ .ps1 ์˜ˆ์‹œ (PowerShell์šฉ)

Write-Output "Hello from PS1"

๐Ÿ’ก 4. ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐ ์ฐจ์ด์ 

ํ•ญ๋ชฉ.bat.sh.ps1
์‹คํ–‰ ํ™˜๊ฒฝWindows CMDBash (Linux/mac)PowerShell (Win/Linux/mac)
๋ณ€์ˆ˜ ์‚ฌ์šฉset var=1var=1$var = 1
ํ•จ์ˆ˜/์กฐ๊ฑด๋ฌธ์ œํ•œ์ ๊ฐ€๋Šฅ๋งค์šฐ ๊ฐ•๋ ฅ
๊ฐ์ฒด ์ง€ํ–ฅโŒโŒโญ• (๊ฐ์ฒด/ํด๋ž˜์Šค ๊ฐ€๋Šฅ)
์‚ฌ์šฉ ๋Œ€์ƒ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐœ๋ฐœ์ž/์„œ๋ฒ„ ๊ด€๋ฆฌ์žDevOps/์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž

๐Ÿง  ์–ธ์ œ ์–ด๋–ค ๊ฑธ ์“ฐ๋ฉด ์ข‹์„๊นŒ?

  • ๐ŸชŸ Windows ํ™˜๊ฒฝ์—์„œ ๊ฐ„๋‹จํ•œ ์ž‘์—… ์ž๋™ํ™” โ†’ .bat

  • ๐Ÿง Linux ๋ฐฐํฌ, ์ดˆ๊ธฐํ™” ์Šคํฌ๋ฆฝํŠธ, DevOps โ†’ .sh

  • ๐Ÿงช ๊ณ ๊ธ‰ Windows ์ž๋™ํ™” ๋ฐ ์Šคํฌ๋ฆฝํŠธ ํ†ตํ•ฉ ์ œ์–ด โ†’ .ps1

0๊ฐœ์˜ ๋Œ“๊ธ€