유닉스`which` 명령과 동등한 PowerShell?


69

PowerShell은 which대부분의 Unix 쉘에서 발견 되는 명령 과 동등 합니까?

커맨드 라인에서 실행중인 위치를 여러 번 알고 싶습니다. 유닉스에서 나는 그냥하고 which <command>, 나에게 말한다. PowerShell에서 동등한 항목을 찾을 수 없습니다.

답변:


71

이것은 PowerShell 에서 스택 오버플로 : * Nix 'which'명령에 해당합니까?

PowerShell에서 프로필을 사용자 정의하기 시작한 첫 번째 별칭은 'which'였습니다.

get-command를 사용하는 New-Alias

이것을 프로필에 추가하려면 다음을 입력하십시오.

"`n 새로운 명령을받는 New-Alias"| 콘텐츠 추가 $ profile

마지막 줄의 시작에서`n은 새로운 줄로 시작되도록하는 것입니다.


35

PowerShell 3.0부터는 다음을 수행 할 수 있습니다.

(Get-Command cmd).Path

또한 반환하는 바닐라 Get-Command보다 이점이 System.String있으므로 익숙한 * nixy 단일 라인 출력을 얻을 수 있습니다. gcm 별칭을 사용하면 11 자로 줄일 수 있습니다.

(gcm cmd).Path

4
경우 Get-Command복수의 결과를 발견, 그것은 배열을 반환합니다. 또한 찾은 명령이 실행 파일이 아닌 경우 Path정의되지 않습니다 ( $null). 이것은 큰 수정없이 일반적인 사용에 대한 대답을 비실용적으로 만듭니다. 두 경우 모두에 대한 좋은 예를 보려면을 사용해보십시오 Get-Command where.
jpmc26

1
이것은 where질문의 제목이 아닌 Powershell에서 별명을 설정하는 방법을 알려주기보다는 실제로 * NIX 명령과 동등한 Powershell을 알려주기 때문에 허용되는 대답이어야합니다 .
mastazi

3
@mastazi :하지만 그 예에 비해 회귀 인 내장 명령에 실패 zsh을which. ( where, 그런데함으로써, 실제로 윈도우의 여러 가지의 숫자 중 하나를 수행 할 수 유틸리티 대략 따라 명령에 대한 검색 유사한 효과는 PATH.) 또한, 없다 아무 질문을 받았다 무엇을 수행하는 방법에 대해 설명 대답을 잘못 하고 또 다른 약간 더 관여 된 것이 그 위에 세워져 있습니다.
SamB

7

2008 년에도 답변 : Windows 명령 줄에 'which'와 동등한 것이 있습니까?

whereResource Kit를 설치 한 경우 명령을 사용해보십시오 .

답의 가장 중요한 부분 :

Windows Server 2003 WHERE이상은 실행 가능한 명령뿐만 아니라 모든 유형의 파일과 일치하지만 일부 기능을 수행 하는 명령을 제공 합니다.

[한조각]

Windows PowerShell에서는을 입력해야합니다 where.exe.


3
function which([string]$cmd) {gcm -ErrorAction "SilentlyContinue" $cmd | ft Definition}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.