Powershell: Linux์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ˆ˜์ •(์˜ˆ: $env:PSModulePath)

์— ๋งŒ๋“  2017๋…„ 07์›” 25์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PowerShell/PowerShell

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„,

Linux์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜(์˜ˆ: $env:Name ๋˜๋Š” Get-ChildItem env:๋กœ ์•ก์„ธ์Šค)๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด /etc ์— ์ƒˆ ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ๊ฐ’์„ ์„ค์ •ํ•˜๋ ค๋ฉด ?

Windows์—์„œ๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด PSModulePath๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ง€์ • ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Linux์˜ ์œ ์ผํ•œ ์˜ต์…˜์€ ๋ชจ๋“  ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ํ”„๋กœํ•„ ps1 ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

Issue-Discussion Issue-Enhancement WG-Engine-Providers

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ _์˜๊ตฌ์ ์œผ๋กœ_ ์ •์˜ํ•˜๋Š” _profile-independent_ ๋ฐฉ๋ฒ•์„ ๋„์ž…ํ•˜๊ธฐ ์œ„ํ•ด PowerShell์„ ์ฐพ๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ฐ˜์˜ํ•˜๋„๋ก ๋ฌธ์ œ ์ œ๋ชฉ์„ ๋ณ€๊ฒฝํ•˜๋„๋ก ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ช‡ ๊ฐ€์ง€ ์ƒ๊ฐ:

  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ์ •์˜์— ๋”ฐ๋ผ _shell/application-agnostic_์ด๋ฉฐ ์–ด๋–ค ์…ธ/์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ƒ์„ฑํ–ˆ๋Š”์ง€์— ๊ด€๊ณ„์—†์ด _all_ ํ•˜์œ„ ํ”„๋กœ์„ธ์Šค์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • PowerShell์€ $env:PSModulePath _2_ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋งŒ "์ˆ˜์‹ "ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด Linux ํ™˜๊ฒฝ(๋ชจ๋‘?)์—๋Š” ์ด๋ฏธ /etc/environment ํŒŒ์ผ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์…ธ ๋…๋ฆฝ์  ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฆ‰, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ง‘ํ•ฉ์ด _PowerShell_์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ์‹œ์Šคํ…œ ์ „์ฒด์˜ _PowerShell_ ํ”„๋กœํ•„ - $profile.AllUsersAllHosts - ํ‹€๋ฆผ์—†์ด _์ด๋ฅผ ์ •์˜ํ•˜๋Š” ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

    • ์ด ์†”๋ฃจ์…˜์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ ์ „์ฒด ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์—†๋Š” macOS์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
    • (macOS์—๋Š” /etc/profile ๊ฐ€ ์žˆ์œผ๋ฉฐ ๊ธฐ๋ณธ ์…ธ์ด ์ฒ˜๋ฆฌํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋ฉฐ (a) GUI ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ (b) ๊ธฐ๋ณธ ์…ธ์ด ์ด ๊ธฐ๋Œ€์น˜๋ฅผ ์ถฉ์กฑํ•ด์•ผ ํ•˜๊ณ  (c) ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์‰˜ (POSIX ์‰˜ ๊ตฌ๋ฌธ์„ ์ดํ•ดํ•˜๋Š” PowerShell์—์„œ, ๊ทธ๊ฒƒ์€ ๊ธฐ๋ณธ ์‰˜๋กœ ์ •์˜ ๋œ ๊ฒฝ์šฐ,ํ•˜๊ณ ์žํ•˜์ง€ [_Update_ : /etc/profile ๋ฐ ~/.profile ๋‹น์‹ ์ด ์‹œ์ž‘ํ•˜๋ฉด ์ง€๊ธˆ _are_ ์˜๊ด‘ pwsh -l ๋˜๋Š” PowerShell์„ ๊ธฐ๋ณธ ์…ธ๋กœ ์‚ฌ์šฉ]).

๋ชจ๋“  3 ๋Œ“๊ธ€

ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ _์˜๊ตฌ์ ์œผ๋กœ_ ์ •์˜ํ•˜๋Š” _profile-independent_ ๋ฐฉ๋ฒ•์„ ๋„์ž…ํ•˜๊ธฐ ์œ„ํ•ด PowerShell์„ ์ฐพ๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ฐ˜์˜ํ•˜๋„๋ก ๋ฌธ์ œ ์ œ๋ชฉ์„ ๋ณ€๊ฒฝํ•˜๋„๋ก ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ช‡ ๊ฐ€์ง€ ์ƒ๊ฐ:

  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ์ •์˜์— ๋”ฐ๋ผ _shell/application-agnostic_์ด๋ฉฐ ์–ด๋–ค ์…ธ/์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ƒ์„ฑํ–ˆ๋Š”์ง€์— ๊ด€๊ณ„์—†์ด _all_ ํ•˜์œ„ ํ”„๋กœ์„ธ์Šค์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • PowerShell์€ $env:PSModulePath _2_ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋งŒ "์ˆ˜์‹ "ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด Linux ํ™˜๊ฒฝ(๋ชจ๋‘?)์—๋Š” ์ด๋ฏธ /etc/environment ํŒŒ์ผ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์…ธ ๋…๋ฆฝ์  ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฆ‰, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ง‘ํ•ฉ์ด _PowerShell_์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ์‹œ์Šคํ…œ ์ „์ฒด์˜ _PowerShell_ ํ”„๋กœํ•„ - $profile.AllUsersAllHosts - ํ‹€๋ฆผ์—†์ด _์ด๋ฅผ ์ •์˜ํ•˜๋Š” ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

    • ์ด ์†”๋ฃจ์…˜์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ ์ „์ฒด ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์—†๋Š” macOS์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
    • (macOS์—๋Š” /etc/profile ๊ฐ€ ์žˆ์œผ๋ฉฐ ๊ธฐ๋ณธ ์…ธ์ด ์ฒ˜๋ฆฌํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋ฉฐ (a) GUI ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ (b) ๊ธฐ๋ณธ ์…ธ์ด ์ด ๊ธฐ๋Œ€์น˜๋ฅผ ์ถฉ์กฑํ•ด์•ผ ํ•˜๊ณ  (c) ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์‰˜ (POSIX ์‰˜ ๊ตฌ๋ฌธ์„ ์ดํ•ดํ•˜๋Š” PowerShell์—์„œ, ๊ทธ๊ฒƒ์€ ๊ธฐ๋ณธ ์‰˜๋กœ ์ •์˜ ๋œ ๊ฒฝ์šฐ,ํ•˜๊ณ ์žํ•˜์ง€ [_Update_ : /etc/profile ๋ฐ ~/.profile ๋‹น์‹ ์ด ์‹œ์ž‘ํ•˜๋ฉด ์ง€๊ธˆ _are_ ์˜๊ด‘ pwsh -l ๋˜๋Š” PowerShell์„ ๊ธฐ๋ณธ ์…ธ๋กœ ์‚ฌ์šฉ]).

Ubuntu ์‹œ์Šคํ…œ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ด๊ฒƒ์ด /etc/environment ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์‹œ์Šคํ…œ ์ „์ฒด๋ฅผ ์„ค์ •ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž์Šต๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ .NET Core๋Š” ์•„์ง Unix ์‹œ์Šคํ…œ์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์„œ์—๋Š” ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฒƒ์— ๊ฐ’์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด Windows์—์„œ๋งŒ ์ง€์›๋œ๋‹ค๊ณ  ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. :์ฐก๊ทธ๋ฆฐ ์–ผ๊ตด:

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰