Tương đương là Get-Command
.
PS C:\> Get-Command ls
CommandType Name Definition
----------- ---- ----------
Alias ls Get-ChildItem
Application ls.exe D:\usr\local\wbin\ls.exe
Application ls.exe C:\Program Files (x86)\Git\bin\ls.exe
Windows 10 Cập nhật:
Kể từ khi tôi đã đăng câu trả lời này, dường như hành vi của Get-Command
đã thay đổi. Bao gồm tất cả kết quả (trong phong cách của Un * x) type
), bây giờ tôi cần phải vượt qua -All
cờ, như vậy:
PS C:\> Get-Command -All ls
CommandType Name Version Source
----------- ---- ------- ------
Alias ls -> Get-ChildItem
Application ls.exe 0.0.0.0 C:\Program Files (x86)\Git\usr\bin\ls.exe
Như đã đề cập trong một chú thích, này không bao gồm cácDefinition
cột như là hành vi trước đó. Tôi không thể xác định một đối số dòng lệnh để thêm cột định nghĩa, nhưng như đã nói bởi @voutasaurus trong bình luận dưới đây, người ta có thể sử dụng:
PS C:\> (Get-Command -All ls).Definition
Get-ChildItem
C:\Program Files (x86)\Git\usr\bin\ls.exe
Version thông tin để tham khảo (tôi odn't có phiên bản thông tin liên quan đến văn bản trả lời ban đầu, nhưng tôi đoán rằng đó là Windows 7):
PS C:\> [System.Environment]::OSVersion.Version
Major Minor Build Revision
----- ----- ----- --------
10 0 15063 0
Điều này không hoạt động đối với các hàm được xác định trong cấu hình $, trong khi kiểu trả về định nghĩa hàm trong bash. – voutasaurus
Tôi nhận được điều này: > Get-Command Get-Command CommandType Name Version Nguồn ----------- ---- ------- ---- - Cmdlet Get-Command 3.0.0.0 Microsoft.PowerShell.Core Nếu bạn sử dụng (Get-Command Get-Command) .Định nghĩa sau đó bạn thực sự có được định nghĩa. – voutasaurus
Cảm ơn @ voutasaurus mà phải thay đổi kể từ khi câu trả lời được đăng. Tôi đã sửa đổi câu trả lời với đề xuất của bạn. – pb2q