Algunas de las cosas que me gustan en Bash y me encantaría saber cómo hacer en PowerShell:
En Bash, tengo configurado el desplazamiento del historial para que solo se desplacen los comandos que comienzan con el mismo prefijo que la línea actual. Si quiero ver mi último commit (por ejemplo, para reutilizar parte del comentario), escribo 'git' y luego ↑.
Por supuesto, está relacionada la búsqueda del historial con Ctrl+R
Para encontrar otras cosas, escribo:
h | grep foo
En PowerShell uso:
h -c 1000 | where {$_.commandline.contains("foo")}
(obviamente soy un novato, debe haber un camino más corto)
Cosas como:
mv file.txt{,.bak}
o
mv file.txt !#$.bak
Espacio mágico (que se expande en
!$
línea)
¿Cuáles son las alternativas en PowerShell?
fuente
1 - Puede usar F8desde la consola de Windows para recorrer los comandos que coinciden con el comienzo de la línea actual. Este es un partido sensible a mayúsculas y minúsculas.
2 - Puedes usar
#
para unir comandos anteriores. El uso no#<partial match><tab>
distingue entre mayúsculas y minúsculas y coincidirá con el texto en cualquier posición de los comandos anteriores.Si tiene el siguiente historial de comandos:
Al escribir
#pr
, tabrepetidamente, pasará por 1, 2 y 3.Al escribir
#st
, tabrepetidamente, pasará por 1 y 3.Usar solo # coincidirá con todo el historial.
#
también se puede usar después de ingresar parte de un comando. Si tu historial es:Puedes escribir
Get-Process #n<tab>| #s<tab>
para obtenerGet-Process 'notepad'| select *
3 - Puedes usar
Select-String
. Cree un alias para que sea fácil de usar (PowerShell v3 agregó el aliassls
). Entonces podrías hacer.4 - Puedes hacer algo como:
5:
$$
coincide con el último token del último comando, pero no conozco una forma de expandirlo en línea.fuente
Debe consultar el módulo PSReadline de Oisin Grehan: http://nivot.org/blog/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30
El código está disponible aquí: https://bitbucket.org/oising/psreadline/overview
Esto hace que PowerShell sea realmente utilizable como CLI, desde el punto de vista de administradores experimentados * nix que ocasionalmente trabajan con Windows, al agregar enlaces básicos de EMACS para edición de línea, búsqueda de historial, etc.
fuente