PowerShell์ ๋์๋ง ์ฃผ์์ด ์คํฌ๋ฆฝํธ์ ์ฒซ ๋ฒ์งธ ์ค์์ ์์ํ์ง ์๋ ํ ์คํฌ๋ฆฝํธ์ ๋ํ ์ฃผ์ ๊ธฐ๋ฐ ๋์๋ง์ ๊ตฌ๋ฌธ ๋ถ์ํ์ง ์์ต๋๋ค. ์ด๊ฒ์ shebang ์ ์ฌ์ฉํ๋ ์คํฌ๋ฆฝํธ๊ฐ Get-Help
๋ฅผ ํตํด ๋์์ด ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
PowerShell์ ์คํฌ๋ฆฝํธ ํ์ผ์ด #!
์์ํ๋ ๊ฒฝ์ฐ ์คํฌ๋ฆฝํธ ํ์ผ์ ์ฒซ ๋ฒ์งธ ์ค์ ๊ฑด๋๋ฐ์ด์ผ ํฉ๋๋ค.
shebang์ ์ฌ์ฉํ์ฌ thing.ps1
๋ผ๋ ์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ญ๋๋ค.
#!/usr/bin/env pwsh
<#
.SYNOPSIS
This does a thing
#>
PS> Get-Help thing.ps1
NAME
/Users/aaron/src/thing.ps1
SYNOPSIS
This does a thing
โฆ
PS> Get-Help thing.ps1
thing.ps1
โฆ
PS> $PSVersionTable
Name Value
---- -----
PSVersion 6.0.0-beta.9
PSEdition Core
GitCommitId v6.0.0-beta.9
OS Darwin 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu...
Platform Unix
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
์ด๊ฒ์ ๋ ๊ตฌ๋ฌธ ๋ชจ๋์ ๋ฌธ์ ์ ๋๋ค.
#!/usr/bin/env pwsh
# .SYNOPSIS
# This does a thing
์ด๊ฒ์ ํ์คํ ๋ฒ๊ทธ์ ๋๋ค. ํ์ง๋ง ...
shebang๊ณผ ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์ ์ฌ์ด์ ๋น ์ค์ด ํ์ํฉ๋๋ค.
์ฐ์๋ ์ฃผ์ ๋ฒ์๊ฐ ๋ชจ๋ ํจ๊ป ๊ทธ๋ฃนํ๋์ด ๋์๋ง ์์คํ ์ด shebang๊ณผ ์๋์์ค๋ฅผ ๋์ผํ ์ฃผ์์ผ๋ก ๊ฐ์ฃผํ๊ธฐ ๋๋ฌธ์ ๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ ํ์คํ ๋ฒ๊ทธ์ ๋๋ค. ํ์ง๋ง ...
shebang๊ณผ ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์ ์ฌ์ด์ ๋น ์ค์ด ํ์ํฉ๋๋ค.