Beberapa hal yang saya sukai di Bash dan ingin tahu bagaimana melakukannya di PowerShell:
Di Bash, saya memiliki pengaturan pengguliran sejarah sehingga hanya menggulir perintah yang dimulai dengan awalan yang sama dengan baris saat ini. Jika saya ingin melihat komit terbaru saya (mis. Untuk menggunakan kembali sebagian dari komentar) saya menulis 'git' lalu ↑.
Terkait tentu saja pencarian sejarah dengan Ctrl+R
Untuk menemukan hal-hal lain, saya menulis:
h | grep foo
Di PowerShell saya menggunakan:
h -c 1000 | where {$_.commandline.contains("foo")}
(jelas saya seorang pemula, pasti ada cara yang lebih pendek)
Hal-hal seperti:
mv file.txt{,.bak}
atau
mv file.txt !#$.bak
Ruang ajaib (yang mengembang
!$
sejajar)
Apa saja alternatif di PowerShell?
sumber
1 - Anda dapat menggunakan F8dari konsol windows untuk menelusuri perintah yang sesuai dengan awal baris saat ini. Ini adalah pertandingan yang sensitif dengan huruf besar-kecil.
2 - Anda dapat menggunakan
#
untuk mencocokkan perintah sebelumnya. Penggunaan#<partial match><tab>
tidak sensitif huruf dan akan mencocokkan teks pada posisi apa pun di perintah sebelumnya.Jika Anda memiliki riwayat perintah berikut:
Mengetik
#pr
kemudian tabberulang kali akan menggilir 1, 2 dan 3.Mengetik
#st
kemudian tabberulang kali akan menggilir 1 dan 3.Hanya menggunakan # akan cocok dengan semua riwayat.
#
juga dapat digunakan setelah memasukkan bagian dari perintah. Jika riwayat Anda adalah:Anda bisa mengetik
Get-Process #n<tab>| #s<tab>
untuk mendapatkanGet-Process 'notepad'| select *
3 - Anda dapat menggunakan
Select-String
. Buat alias agar mudah digunakan (PowerShell v3 menambahkan aliassls
). Anda kemudian bisa melakukannya.4 - Anda dapat melakukan sesuatu seperti:
5 -
$$
cocok dengan token terakhir dari perintah terakhir, tapi saya tidak tahu cara untuk memperluas inline.sumber
Anda harus memeriksa modul PSReadline Oisin Grehan: http://nivot.org/blog/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30
Kode ini tersedia di sini: https://bitbucket.org/oising/psreadline/overview
Ini menjadikan PowerShell benar-benar dapat digunakan sebagai CLI, dari sudut pandang admin * nix berpengalaman yang sesekali bekerja dengan Windows, dengan menambahkan binding EMACS dasar untuk pengeditan baris, pencarian riwayat, dll.
sumber