質問: Windows 10 上で cmd.exe と WSL のシェル (Bash) とを行き来していると、標準的なコマンドの差で躓くことが多々あります。私は Bash の方が良く使うので、特に cmd.exe 上で Linux 用のコマンドを誤って打ち込んでしまうことがあります。 たとえば cmd.exe 上で `ls` と打って「コマンドとして認識されていません」という趣旨のエラーが出て初めて `dir` を思い出すことが良くあります。他にも文字列を出力するつもりで`echo foobar` と打ってしまうと、cmd.exe 側にある同名の別コマンド `echo` が呼び出されてしまいます。 このような打ち間違いは、上のような例だとかわいいものですが、きっといつかもっと深刻な例を引き起こすのではないかと心配しています。 そこで、何かしら打ち間違い自体を阻止したり、打ち間違いがあっても実行前にエラーや確認メッセージが出るなどして最低限の影響で抑えられたりするような、技術的な解決法はないでしょうか? 「cmd.exe で操作するときは伸びをしてからにする」みたいな慣習的方法ではなく、機械による (半) 自動的な方法を探しています。使用頻度は cmd.exe の方が低いので、cmd.exe 側は多少操作が面倒になっても大丈夫です。cmd.exe を使うのは、たとえば Windows 側にインストールされた Go コンパイラを使いたいときなどです。 ただし cmd.exe 側のコマンドにあまり詳しくないのでそもそも「どっちでも動いてしまうようなコマンド」がどの程度あるのかも良く分かっておらず、この心配が杞憂の可能性もあるとは思っています。そうであればそのように回答頂ければ幸いです。
回答: 質問の意図とちょっとずれるかもしれませんが、良く打ち間違うコマンド名のバッチファイルを作っておいて、間違っても意図した動作になるようにする、というのが一つの手ではないでしょうか。 ls.batの内容 ``` @echo off dir ``` とか(コマンドラインオプションも必要応じて追加してもいいと思います)。