Algumas das coisas que eu gosto no Bash e gostaria de saber como fazer no PowerShell:
No Bash, eu tenho a rolagem do histórico configurada para que apenas role os comandos que começam com o mesmo prefixo da linha atual. Se eu quiser ver meu último commit (por exemplo, para reutilizar parte do comentário), escrevo 'git' e depois ↑.
Relacionado é, obviamente, a pesquisa de histórico com Ctrl+R
Para encontrar outras coisas, escrevo:
h | grep foo
No PowerShell, eu uso:
h -c 1000 | where {$_.commandline.contains("foo")}
(obviamente eu sou um novato, deve haver uma maneira mais curta)
Coisas como:
mv file.txt{,.bak}
ou
mv file.txt !#$.bak
Espaço mágico (que se expande em
!$
linha)
Quais são as alternativas no PowerShell?
fonte
1 - Você pode usar F8no console do Windows para percorrer os comandos que correspondem ao início da linha atual. Esta é uma correspondência que diferencia maiúsculas de minúsculas.
2 - Você pode usar
#
para combinar comandos anteriores. O uso não#<partial match><tab>
faz distinção entre maiúsculas e minúsculas e corresponderá ao texto em qualquer posição nos comandos anteriores.Se você possui o seguinte histórico de comandos:
Typing
#pr
então tabrepetidamente irá percorrer 1, 2 e 3.Typing
#st
então tabrepetidamente irá percorrer 1 e 3.Usar apenas # corresponderá a todo o histórico.
#
também pode ser usado depois de inserir parte de um comando. Se o seu histórico é:Você pode digitar
Get-Process #n<tab>| #s<tab>
para obterGet-Process 'notepad'| select *
3 - Você pode usar
Select-String
. Crie um alias para facilitar o uso (o PowerShell v3 adicionou o aliassls
). Você poderia então fazer.4 - Você pode fazer algo como:
5 -
$$
corresponde ao último token do último comando, mas não sei como expandi-lo em linha.fonte
Você deve conferir o módulo PSReadline de Oisin Grehan: http://nivot.org/blog/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30
O código está disponível aqui: https://bitbucket.org/oising/psreadline/overview
Isso torna o PowerShell realmente utilizável como uma CLI, do ponto de vista de administradores * nix experientes que trabalham ocasionalmente com o Windows, adicionando ligações EMACS básicas para edição de linhas, pesquisa de histórico etc.
fonte