&
Windows의 기본 CMD 프로세서에서는 하나가 다른 명령 다음에 즉시 실행되도록 명령을 함께 문자열로 묶는 데 사용할 수 있습니다 . A는 &&
첫 번째 명령이 오류 없이 완료된 경우에만 두 번째 명령을 실행합니다.
|
이는 첫 번째 명령의 출력 과 함께 파이핑 명령과 다릅니다.아니다두 번째 명령으로 전송되면 명령은 단순히 차례로 실행되고 각 명령에 대한 출력은 일반적인 위치로 전송됩니다.
그러나 PowerShell에서 &
또는를 사용하려고 하면 오류가 발생합니다 . &&
PowerShell에서 사용할 수 있는 유사한 기능이 있습니까? 아니면 이 기능이 더 이상 사용되지 않습니까?
답변1
&
PowerShell의 연산자는 또는 ;
세미콜론입니다.
PowerShell의 연산자 &&
는 문으로 실행되어야 합니다 if
.
Command ; if($?) {Command}
예:
tsc ; if($?) {node dist/run.js}
답변2
대략 같은 방식으로 사용할 수 있는 이 기능을 사용해 보세요.
function aa() {
if($?) {
$command = [string]::join(' ', $args[1..99])
& $args[0] $command
}
}
이제 &&
로 대체될 수 있습니다 ; aa
. 아직 완벽하지는 않지만 훨씬 더 간결합니다.
cls && build
된다
cls; aa build
답변3
업데이트: 이제 Powershell 7을 사용하여 기본적으로 수행할 수 있습니다.
Write-Output 'First' && Write-Output 'Second'
첫번째
두번째
그러나 첫 번째 명령이 실패하면(여기서는 참고 Write-Error
):
Write-Error 'Bad' && Write-Output 'Second'
나쁜