最近、コンソール、ターミナル、シェルの違いについて投稿しました。 Windows の世界は興味深いもので、Windows 以外の人には少し奇妙でなじみがありません。 Ubuntu や Mac を使用していて、zsh、bash、pwsh などのシェルを選択している場合でも、Windows に移行すると、タブごとにシェル (そして現在は WSL を備えたオペレーティング システム!) の間を行き来しています。
.NET Core ベースのエンジンと強力なスクリプト言語が好きで、PowerShell のような Windows シェルを使用している場合でも、ls、grep、sed などの一般的な *nix シェル コマンドを見逃す可能性があります。
Windowsで使用しているシェル(powershell、yori、cmdなど)に関係なく、「wslコマンド」を使用してデフォルトのUbuntuインスタンスをいつでも呼び出すことができるため、「wsl ls」または「wsl grep」ですが、それらをより自然に快適に統合します。
Linux コマンドを PowerShell で直接使用できるようにする新しい一連の "関数ラッパー" があるため、複数の環境間で簡単に移行できます。
これは奇妙に思えるかもしれませんが、これにより、Windows と Linux、PowerShell、および bash に出入りする驚くべきパイプ コマンドを作成できます。あなたが、私のように、オペレーティング システムと好みのシェルの選択において無宗派であれば、それは実際には非常に驚くべきことであり、非常に自然なことです.
これらの関数ラッパーは非常にきちんと設計されており、オペレーティング システム間で TAB 補完を公開しています。つまり、PowerShell で Linux コマンドを入力すると、TAB 補完が表示されます!
セットアップはとても簡単です。 Mike Battista の Github から
- PowerShell コアをインストールする
- Linux 用 Windows サブシステム (WSL) をインストールする
Install-Module WslInterop
で WslInterop モジュールをインストールしますImport-WslCommand
でコマンドをインポート 永続的なアクセスのためにプロファイルから、またはコマンドが必要なときにオンデマンドで (例:Import-WslCommand "awk", "emacs", "grep", "head", "less", "ls", "man", "sed", "seq", "ssh", "tail", "vim"
)
Install-Module を 1 つだけ実行し、notepad $profile を実行して、最後の 1 行だけを追加します。必要な WSL/Linux コマンドを公開するように変更してください。完了したら、PowerShell Core を開いてコマンドを組み合わせることができます。
ブログから、「これらの関数ラッパーを配置することで、wsl
を前に付けることなく、より自然な方法でお気に入りの Linux コマンドを呼び出すことができるようになりました。 または、Windows パスが WSL パスにどのように変換されるか心配してください:"
man bash
less -i $profile.CurrentUserAllHosts
ls -Al C:\Windows\ | less
grep -Ein error *.log
tail -f *.log
それは本当に天才的なことであり、それを私たちと共有してくれたマイクに感謝します!今すぐ試してみてください。 https://github.com/mikebattista/PowerShell-WSL-Interop
スポンサー: C#のような?私たちもそうです!そのため、高速でスマートなクロスプラットフォームの .NET IDE を開発しました。これにより、さらに強力なコーディングが可能になります。巧妙なコード分析、豊富なコード補完、インスタント検索とナビゲーション、高度なデバッガー... JetBrains Rider を使用すると、必要なものすべてがすぐに手に入ります。 Linux、Mac、または Windows で、思考の速度で C# をコーディングします。 JetBrains Rider を今すぐお試しください!