Un equivalente es 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 Actualización:
Desde que he publicado esta respuesta, parece que el comportamiento de Get-Command
ha cambiado. Para incluir todos los resultados (en el estilo de Un * x) type
), ahora tengo que pasar el indicador -All
, así:
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
Como se señaló en un comentario, esto no incluyen la Definition
columna como era el comportamiento anterior. No puedo determinar un argumento de línea de comandos para agregar la columna de la definición, pero como se ha señalado por @voutasaurus en el comentario a continuación, se puede utilizar: la información
PS C:\> (Get-Command -All ls).Definition
Get-ChildItem
C:\Program Files (x86)\Git\usr\bin\ls.exe
versión de referencia (I odn't tiene la versión la información asociada con el texto de la respuesta original, pero supongo que era de Windows 7):
PS C:\> [System.Environment]::OSVersion.Version
Major Minor Build Revision
----- ----- ----- --------
10 0 15063 0
Esto no funciona para las funciones definidas en $ profile, mientras que type devuelve la definición de la función en bash. – voutasaurus
me estoy haciendo esto: > Get-Command Get-Command CommandType Nombre Versión Fuente ----------- ---- ------- ---- - Cmdlet Get-Command 3.0.0.0 Microsoft.PowerShell.Core Si usa (Get-Command Get-Command) .Definition entonces realmente obtiene la definición. – voutasaurus
Gracias @voutasaurus que debe haber cambiado desde que se publicó la respuesta. He modificado la respuesta con tu sugerencia. – pb2q