Baru-baru ini saya memposting tentang Apa perbedaan antara konsol, terminal, dan shell? Dunia Windows menarik - dan sedikit aneh dan asing bagi orang non-Windows. Anda mungkin menggunakan Ubuntu atau Mac dan Anda telah memilih shell Anda seperti zsh atau bash atau pwsh, tetapi kemudian Anda masuk ke Windows dan kami berpindah antar shell (dan sekarang sistem operasi dengan WSL!) pada basis tab demi tab.
Jika Anda menggunakan shell Windows seperti PowerShell karena Anda menyukai mesin berbasis .NET Core dan bahasa skrip yang kuat, Anda mungkin masih melewatkan perintah *nix shell yang umum seperti ls, grep, sed, dan lainnya.
Tidak peduli shell apa yang Anda gunakan di Windows (powershell, yori, cmd, apa pun), Anda selalu dapat memanggil instance Ubuntu default Anda dengan "wsl command" jadi "wsl ls" atau "wsl grep" tetapi akan menyenangkan untuk membuatnya lebih alami dan terintegrasi dengan nyaman.
Sekarang ada seri baru "pembungkus fungsi" yang membuat perintah Linux tersedia langsung di PowerShell sehingga Anda dapat dengan mudah bertransisi di antara beberapa lingkungan.
Ini mungkin tampak aneh tetapi memungkinkan kita untuk membuat perintah pipa luar biasa yang bergerak masuk dan keluar dari Windows dan Linux, PowerShell dan bash. Ini sebenarnya sangat menakjubkan dan sangat wajar jika Anda, seperti saya, non-denominasi dalam pilihan sistem operasi dan shell pilihan Anda.
Pembungkus fungsi ini dirancang dengan sangat rapi dan bahkan mengekspos penyelesaian TAB di seluruh sistem operasi! Itu berarti saya bisa mengetik perintah Linux di PowerShell dan penyelesaian TAB datang!
Sangat mudah untuk mengaturnya. Dari Github Mike Battista
- Instal PowerShell Core
- Instal Subsistem Windows untuk Linux (WSL)
- Instal modul WslInterop dengan
Install-Module WslInterop
- Impor perintah dengan
Import-WslCommand
baik dari profil Anda untuk akses terus-menerus atau sesuai permintaan saat Anda membutuhkan perintah (mis.Import-WslCommand "awk", "emacs", "grep", "head", "less", "ls", "man", "sed", "seq", "ssh", "tail", "vim"
)
Anda akan melakukan Install-Module Anda hanya satu, dan kemudian jalankan notepad $profile dan tambahkan hanya satu baris terakhir. Pastikan Anda mengubahnya untuk mengekspos perintah WSL/Linux yang Anda inginkan. Setelah selesai, Anda cukup membuka PowerShell Core dan mencampur dan mencocokkan perintah Anda!
Dari blog, "Dengan pembungkus fungsi ini, kami sekarang dapat memanggil perintah Linux favorit kami dengan cara yang lebih alami tanpa harus mengawalinya dengan wsl
atau khawatir tentang bagaimana jalur Windows diterjemahkan ke jalur WSL:"
man bash
less -i $profile.CurrentUserAllHosts
ls -Al C:\Windows\ | less
grep -Ein error *.log
tail -f *.log
Ini adalah hal yang sangat jenius dan pujian untuk Mike karena telah membagikannya kepada kami! Pergi mencobanya sekarang. https://github.com/mikebattista/PowerShell-WSL-Interop
Sponsor: Seperti C#? Kami juga melakukannya! Itulah mengapa kami mengembangkan .NET IDE lintas platform yang cepat, cerdas, yang memberi Anda lebih banyak kekuatan pengkodean. Analisis kode yang cerdas, penyelesaian kode yang kaya, pencarian dan navigasi instan, debugger tingkat lanjut... Dengan JetBrains Rider, semua yang Anda butuhkan ada di ujung jari Anda. Kode C# dengan kecepatan berpikir di Linux, Mac, atau Windows. Coba JetBrains Rider hari ini!