ãªãã€ã¬ã¯ãæŒç®å
UNIXç³»ã®ã·ã§ã«ãæ±ãæ¹ãªãããªãã€ã¬ã¯ãã䜿ã£ãããšãããã ããã
ãã£ãšãç°¡åãªãªãã€ã¬ã¯ãã¯ã>ãã ããã®èšå·ã䜿ã£ãå Žåãèšå·ã®å³åŽã«æžãããã¡ã€ã«ãã¹ã«èšå·ã®å·ŠåŽã«æžããã³ãã³ãã®æšæºåºåããªãã€ã¬ã¯ããããããã«ãªããããããã«ã³ãã³ãã®åºåããã¡ã€ã«ã«æžã蟌ãŸããããã«ãªããã>>ãã ãšæ°èŠæžã蟌ã¿ã§ã¯ãªã远èšãšãã£ãåŠçã«ãªãã
PowerShell Coreã«ãã»ãšãã©åãåŠçãè¡ãããã®èšå·ãšããŠããªãã€ã¬ã¯ãæŒç®åããçšæãããŠãããäœ¿ãæ¹ã¯ã·ã§ã«ã®ãªãã€ã¬ã¯ããšã»ãšãã©åãã ã
| æŒç®å | å 容 |
|---|---|
| > | ãã¡ã€ã«ãžæžã蟌㿠|
| >> | ãã¡ã€ã«ãžè¿œèš |
| >&1 | ã¹ããªãŒã ããµã¯ã»ã¹ã¹ããªãŒã ãžãªãã€ã¬ã¯ã |
ãªãã€ã¬ã¯ãæŒç®åã«ã¯æ¬¡ã®ããã«ã¹ããªãŒã çªå·ãæå®ããããšãã§ããããªãã€ã¬ã¯ãæŒç®åãæå®ããªãã£ãå Žåãããã©ã«ãã®å€ãšããŠ1ãæå®ããããã®ãšããŠåŠçãè¡ãããã
| æŒç®å | å 容 |
|---|---|
| n> | ã¹ããªãŒã nããã¡ã€ã«ãžæžã蟌㿠|
| n>> | ã¹ããªãŒã nããã¡ã€ã«ãžè¿œèš |
| n>&1 | ã¹ããªãŒã nãã¹ããªãŒã 1ïŒãµã¯ã»ã¹ã¹ããªãŒã ïŒãžãªãã€ã¬ã¯ã |
ã¹ããªãŒã çªå·ã«ã¯æ¬¡ã®ãããªãã®ãçšæãããŠãããã·ã§ã«ã®æšæºå ¥åãæšæºãšã©ãŒåºåã«çžåœãããã®ã ãšèããŠããã°ãããšæããæšæºåºåã®ãã¡ã€ã«ãã£ã¹ã¯ãªãã¿ã¯1ãæšæºãšã©ãŒåºåã®ãã¡ã€ã«ãã£ã¹ã¯ãªãã¿ã¯2ã§ãããPowerShell Coreã®ã¹ããªãŒã çªå·ãšäžèŽããŠãããæ æã«åãã«ããŠããã®ã ãšæãã
| ã¹ããªãŒã çªå· | å 容 |
|---|---|
| 1 | ãµã¯ã»ã¹ã¹ããªãŒã |
| 2 | ãšã©ãŒã¹ããªãŒã |
| 3 | ã¯ãŒãã³ã°ã¹ããªãŒã |
| 4 | åé·ã¹ããªãŒãã³ã° |
| 5 | ãããã°ã¹ããªãŒã |
| 6 | ã€ã³ãã©ã¡ãŒã·ã§ã³ã¹ããªãŒã |
| * | ãã¹ãŠã®ã¹ããªãŒã |
ã·ã§ã«ãšPowerShell Coreã®å€§ããªéãã¯ãã·ã§ã«ã§ã¯1 (æšæºåºå)ãš2(æšæºãšã©ãŒåºå)ã®ã¿ãæ±ãããšãã»ãšãã©ã§ããã®ã«å¯ŸããŠãPowerShell Coreã§ã¯1ãã6ãŸã§ã¹ããªãŒã ãçšæãããŠããç¹ã«ããã1ãš2ã«é¢ããŠã¯ã·ã§ã«ãPowerShell Coreãã»ãšãã©åãã ãã¹ããªãŒã çªå·3以äžãçšæãããŠããç¹ãPowetShell Coreã®ç¬èªãšèšãããåºåã«é¢ããŠæå³ããšã«ãã现ããåºåãå¶åŸ¡ã§ããããã«ãªã£ãŠããããšããããã
ã¹ããªãŒã çªå·ãšãªãã€ã¬ã¯ãæŒç®åã®çµã¿åãããåæãããšæ¬¡ã®ããã«ãªãã
| æŒç®å | å 容 |
|---|---|
| > | 1>ãšåã |
| >> | 1>>ãšåã |
| 1> | ãµã¯ã»ã¹ã¹ããªãŒã ããã¡ã€ã«ãžæžã蟌㿠|
| 1>> | ãµã¯ã»ã¹ã¹ããªãŒã ããã¡ã€ã«ãžè¿œå |
| 2> | ãšã©ãŒã¹ããªãŒã ããã¡ã€ã«ãžæžã蟌㿠|
| 2>> | ãšã©ãŒã¹ããªãŒã ããã¡ã€ã«ãžè¿œå |
| 2>&1 | ãšã©ãŒã¹ããªãŒã ããµã¯ã»ã¹ã¹ããªãŒã ãžãªãã€ã¬ã¯ã |
| 3> | ã¯ãŒãã³ã°ã¹ããªãŒã ããã¡ã€ã«ãžæžã蟌㿠|
| 3>> | ã¯ãŒãã³ã°ã¹ããªãŒã ããã¡ã€ã«ãžè¿œå |
| 3>&1 | ã¯ãŒãã³ã°ã¹ããªãŒã ããµã¯ã»ã¹ã¹ããªãŒã ãžãªãã€ã¬ã¯ã |
| 4> | åé·ã¹ããªãŒã ããã¡ã€ã«ãžæžã蟌㿠|
| 4>> | åé·ã¹ããªãŒã ããã¡ã€ã«ãžè¿œå |
| 4>&1 | åé·ã¹ããªãŒã ããµã¯ã»ã¹ã¹ããªãŒã ãžãªãã€ã¬ã¯ã |
| 5> | ãããã°ã¹ããªãŒã ããã¡ã€ã«ãžæžã蟌㿠|
| 5>> | ãããã°ã¹ããªãŒã ããã¡ã€ã«ãžè¿œå |
| 5>&1 | ãããã°ã¹ããªãŒã ããµã¯ã»ã¹ã¹ããªãŒã ãžãªãã€ã¬ã¯ã |
| 6> | ã€ã³ãã©ã¡ãŒã·ã§ã³ã¹ããªãŒã ããã¡ã€ã«ãžæžã蟌㿠|
| 6>> | ã€ã³ãã©ã¡ãŒã·ã§ã³ã¹ããªãŒã ããã¡ã€ã«ãžè¿œå |
| 6>&1 | ã€ã³ãã©ã¡ãŒã·ã§ã³ã¹ããªãŒã ããµã¯ã»ã¹ã¹ããªãŒã ãžãªãã€ã¬ã¯ã |
| *> | ãã¹ãŠã®ã¹ããªãŒã ããã¡ã€ã«ãžæžã蟌㿠|
| *>> | ãã¹ãŠã®ã¹ããªãŒã ããã¡ã€ã«ãžè¿œå |
| *>&1 | ãã¹ãŠã®ã¹ããªãŒã ããµã¯ã»ã¹ã¹ããªãŒã ãžãªãã€ã¬ã¯ã |
ã>ããšã>>ãã«é¢ããŠã¯ãããããããšæãããã>&1ãã¯ã¡ãã£ãšãããã«ãããããããªããã·ã§ã«ã®å Žåã«ã¯ã·ã¹ãã ã³ãŒã«ã䜿ã£ãŠæå®ãããã¡ã€ã«ãã£ã¹ã¯ãªãã¿ãæšæºåºåã®ãã¡ã€ã«ãã£ã¹ã¯ãªãã¿ã§äžæžãâŠâŠãšãããã³ããŒããåŠçã«çžåœããã®ã ããPowerShell Coreã®å Žåã«ãã»ãšãã©åãåãããããPowerShell Coreã®å Žåã«ã¯ã¹ããªãŒã ã®ã³ããŒãšããããšã«ãªãã
ããã¯äŸãèãããšçè§£ãããããã3>&1ããšãã£ããªãã€ã¬ã¯ãæŒç®åãæå®ããå Žåãã¯ãŒãã³ã°ã¹ããªãŒã ãžã®åºåããµã¯ã»ã¹ã¹ããªãŒã ãžã®åºåã«å€ãããããã¯ãšã©ãŒãå«ããŠæšæºåºåã«æµããããšãã£ãå Žåã«å©çšããã
ãªãã€ã¬ã¯ãæŒç®åã®äœ¿çšäŸ
ãªãã€ã¬ã¯ãæŒç®åã®ãã£ãšãåºæ¬çãªäœ¿ãæ¹ã¯ã>ãã§ãµã¯ã»ã¹ã¹ããªãŒã ïŒæšæºåºåïŒã®ãªãã€ã¬ã¯ããã2>ãã§ãšã©ãŒã¹ããªãŒã ïŒæšæºãšã©ãŒåºåïŒã®ãªãã€ã¬ã¯ãã ãããã·ã§ã«ãUNIXç°å¢ã«ãããã/dev/nullãã®ãããªåŠçã¯PowerShell Coreã§ã¯ã$nullãã§æ©èœããã®ã§ã次ã®ãããªæ¹æ³ã§åºæ¬çãªãªãã€ã¬ã¯ãæŒç®åã®å®è¡ã確èªããããšãã§ããã
ãµã¯ã»ã¹ã¹ããªãŒã ã®ãªãã€ã¬ã¯ãã確èª
PS /Users/daichi> echo "Hello World"
Hello World
PS /Users/daichi> echo "Hello World" > $null
PS /Users/daichi> echo "Hello World" 2> $null
Hello World
PS /Users/daichi>
æ æã«ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããã°ã次ã®ããã«ãšã©ãŒã¹ããªãŒã ã®ãªãã€ã¬ã¯ãã確èªããããšãã§ããã
ãšã©ãŒã¹ããªãŒã ã®ãªãã€ã¬ã¯ãã確èª
PS /Users/daichi> dir C:/Hello
dir : Cannot find drive. A drive with the name 'C' does not exist.
At line:1 char:1
+ dir C:/Hello
+ ~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:String) [Get-ChildItem], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS /Users/daichi> dir C:/Hello > $null
dir : Cannot find drive. A drive with the name 'C' does not exist.
At line:1 char:1
+ dir C:/Hello > $null
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:String) [Get-ChildItem], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS /Users/daichi> dir C:/Hello 2> $null
PS /Users/daichi>
ãµã¯ã»ã¹ã¹ããªãŒã ãšãšã©ãŒã¹ããªãŒã ã®åæ¹ã«å¯ŸããŠã¡ãã»ãŒãžãæµããããã«ã³ãã³ãã¬ãããå®è¡ããŠãããšããããã察象ã ãããªãã€ã¬ã¯ããããŠããããšããããããã
ãµã¯ã»ã¹ã¹ããªãŒã ãšãšã©ãŒã¹ããªãŒã ã®åæ¹ã«éãããã³ãã³ãã¬ããã®çµæããªãã€ã¬ã¯ã
PS /Users/daichi> dir '/', 'C:\'
Directory: /
Mode LastWriteTime Length Name
ââââ âââââââââââââ ââââââ ââââ
dârâââ 2019/05/07 15:17 Applications
dârâââ 2019/04/06 4:56 bin
dârâââ 2018/09/28 23:26 cores
dârâââ 2019/04/06 4:58 dev
dârââl 2018/09/28 23:23 etc
dârâââ 2019/05/07 16:12 home
dârâââ 2016/10/03 3:38 Incompatible Software
dârâââ 2018/09/29 10:25 Library
dârâââ 2019/05/07 16:12 net
dârâââ 2018/09/28 23:26 Network
dârâââ 2018/09/28 23:26 private
dâââââ 2017/11/28 9:16 root
dârâââ 2019/04/06 4:56 sbin
dârâââ 2018/09/21 0:05 System
dârââl 2018/09/28 23:24 tmp
dârâââ 2018/09/28 23:26 Users
dârâââ 2018/09/21 0:01 usr
dârââl 2018/09/28 23:24 var
dârâââ 2019/05/07 17:25 Volumes
dârââl 2012/08/14 10:20 ãŠãŒãµãæ
å ±
âârâââ 2018/08/17 20:55 313 installer.failurerequests
dir : Cannot find drive. A drive with the name 'C' does not exist.
At line:1 char:1
+ dir '/', 'C:\'
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:String) [GetâChildItem], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS /Users/daichi>
ãµã¯ã»ã¹ã¹ããªãŒã ããªãã€ã¬ã¯ãããããšã©ãŒã¹ããªãŒã ã ãã衚瀺ãããŠãã
PS /Users/daichi> dir '/', 'C:\' > $null
dir : Cannot find drive. A drive with the name 'C' does not exist.
At line:1 char:1
+ dir '/', 'C:\' > $null
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:String) [Get-ChildItem], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS /Users/daichi>
ãšã©ãŒã¹ããªãŒã ããªãã€ã¬ã¯ãããããµã¯ã»ã¹ã¹ããªãŒã ã ãã衚瀺ãããŠãã
PS /Users/daichi> dir '/', 'C:\' 2> $null
Directory: /
Mode LastWriteTime Length Name
ââââ âââââââââââââ ââââââ ââââ
dârâââ 2019/05/07 15:17 Applications
dârâââ 2019/04/06 4:56 bin
dârâââ 2018/09/28 23:26 cores
dârâââ 2019/04/06 4:58 dev
dârââl 2018/09/28 23:23 etc
dârâââ 2019/05/07 16:12 home
dârâââ 2016/10/03 3:38 Incompatible Software
dârâââ 2018/09/29 10:25 Library
dârâââ 2019/05/07 16:12 net
dârâââ 2018/09/28 23:26 Network
dârâââ 2018/09/28 23:26 private
dâââââ 2017/11/28 9:16 root
dârâââ 2019/04/06 4:56 sbin
dârâââ 2018/09/21 0:05 System
dârââl 2018/09/28 23:24 tmp
dârâââ 2018/09/28 23:26 Users
dârâââ 2018/09/21 0:01 usr
dârââl 2018/09/28 23:24 var
dârâââ 2019/05/07 17:25 Volumes
dârââl 2012/08/14 10:20 ãŠãŒãµãæ
å ±
âârâââ 2018/08/17 20:55 313 installer.failurerequests
PS /Users/daichi>
Write-Warningã³ãã³ãã¬ããã䜿çšãããšã¯ãŒãã³ã°ã¹ããªãŒã ã«å¯ŸããŠã¡ãã»ãŒãžãéãããšãã§ããæ¬¡ã®ããã«ã3>ãã§ã¯ãŒãã³ã°ã¹ããªãŒã ã ãããªãã€ã¬ã¯ãã§ããããšã確èªã§ãããã*>ãã¯ãã¹ãŠã®ã¹ããªãŒã ã«å¯ŸããŠé©çšãããã®ã§ãã¯ãŒãã³ã°ã¹ããªãŒã ã«ã€ããŠããªãã€ã¬ã¯ãã確èªã§ããã
Write-Warningã³ãã³ãã¬ããã§ã¯ãŒãã³ã°ã¹ããªãŒã ã«å¯ŸããŠãªãã€ã¬ã¯ããéä¿¡
PS /Users/daichi> Write-Warning 'Hello'
WARNING: Hello
PS /Users/daichi> Write-Warning 'Hello' > $null
WARNING: Hello
PS /Users/daichi> Write-Warning 'Hello' 1> $null
WARNING: Hello
PS /Users/daichi> Write-Warning 'Hello' 2> $null
WARNING: Hello
PS /Users/daichi> Write-Warning 'Hello' 3> $null
PS /Users/daichi> Write-Warning 'Hello' 4> $null
WARNING: Hello
PS /Users/daichi> Write-Warning 'Hello' 5> $null
WARNING: Hello
PS /Users/daichi> Write-Warning 'Hello' 6> $null
WARNING: Hello
PS /Users/daichi> Write-Warning 'Hello' *> $null
PS /Users/daichi>
次ã®ãããªæžãæ¹ããããšãè€æ°ã®çš®é¡ã®ã¹ããªãŒã ã«å¯ŸããŠã¡ãã»ãŒãžãéä¿¡ãããããããªãã€ã¬ã¯ãããæ¹æ³ã詊ãããšãã§ãããæžãæ¹ãšããŠã¯ã3>&1 6>&1 > $nullãã«æ³šç®ããŠããããã
è€æ°ã®ã¹ããªãŒã ã«å¯ŸããŠã¡ãã»ãŒãžãåºåãããããããªãã€ã¬ã¯ããããµã³ãã«
PS /Users/daichi> &{ Write-Warning 'Hello'; Write-Information 'World'; }
WARNING: Hello
PS /Users/daichi> &{ Write-Warning 'Hello'; Write-Information 'World'; } 6>&1
WARNING: Hello
World
PS /Users/daichi> &{ Write-Warning 'Hello'; Write-Information 'World'; } 3>&1 6>&1
WARNING: Hello
World
PS /Users/daichi> &{ Write-Warning 'Hello'; Write-Information 'World'; } 3>&1 6>&1 > $null
PS /Users/daichi>
ã3>&1 6>&1 > $nullãã§ããŸãã¯ãŒãã³ã°ã¹ããªãŒã ããµã¯ã»ã¹ã¹ããªãŒã ãšãªããæ¬¡ã«ã€ã³ãã©ã¡ãŒã·ã§ã³ã¹ããªãŒã ããµã¯ã»ã¹ã¹ããªãŒã ã«ãªã£ãŠãããæåŸã®ã> $nullãã§ãµã¯ã»ã¹ã¹ããªãŒã ãã$nullãã«ãªãã€ã¬ã¯ããããã®ã§ããã¹ãŠã®åºåãæ¶ããããšã«ãªããããããæžãæ¹ã¯ã·ã§ã«ãã·ã§ã«ã¹ã¯ãªããã§ã¯ããçšããããããPowerShell Coreã§ãåããããªæžãæ¹ãè¡ãããšãã§ããã
ãã¡ã€ã«ãžã®ãªãã€ã¬ã¯ãã¯ãªãã€ã¬ã¯ãæŒç®åã䜿ãããšããOut-Fileã³ãã³ãã¬ããã䜿ã£ãŠãè¡ãããšãã§ããããããããªãã€ã¬ã¯ãæŒç®åã§åãããšãå¯èœã§ãã·ã§ã«ãã·ã§ã«ã¹ã¯ãªãããšæžãæ¹ãåããªã®ã§ããã¡ããèŠããŠãããæ¹ã䟿å©ã ããã
åèè³æ
- Microsoft PowerShell Module Browser
- Microsoft PowerShell6ïœMicrosoft.PowerShell.CoreïœAboutïœAbout Variables
- Microsoft PowerShell6ïœObject Pipeline
- Microsoft PowerShell6ïœUnderstanding the Windows PowerShell Pipeline
- Microsoft PowerShell6ïœAbout Regular Expressions
- Microsoft PowerShell6ïœMicrosoft.PowerShell.CoreïœAbout Operators
- Microsoft PowerShell6ïœMicrosoft.PowerShell.CoreïœAbout Comparison Operators