Git Bashでコマンドプロンプトのコマンド実行すると文字化けするのを解消する方法

シェアする

Git Bashは、vagrant で仮想マシンを使っていたり、外部サーバーへsshでログインして操作するときの端末としてすごく便利です。

ただ、コマンドプロンプトにあるコマンド、例えば、ping などを実行すると、文字化けしてしまいます。

これは、Git Bashの端末の文字コードがUTF-8なのに対して、コマンドプロンプトのコマンド($PATHに設定されているフォルダにあるウィンドウズのコマンド)は、Shift-JISベースのCP932という文字コードを使っているからです。

この記事では、そんなウィンドウズのコマンドをGit Bashで実行したときに、文字化けせず結果を表示する方法を説明します。

Git Bashでコマンドプロンプトのコマンド実行すると文字化けするのを解消する方法

文字コードを変換する関数をbashに定義して、ウィンドウズのコマンドを実行するときは、その関数を使うようにします。

  1. 文字コード変換関数の定義
  2. 文字コード変換関数を使ったウィンドウズコマンドの実行方法
  3. alias(エイリアス=別名)登録による自動化

の順で説明します。

文字コード変換関数の定義

bash は、起動時に、~/.bashrc という環境ファイルの設定を読み込みます。

~ は、ホームディレクトリになってます。

Git Bash ではホームディレクトリは、

となってます。

Git Bash空であれば、~ でアクセスできます。編集してみましょう。

vimを使うのであれば、 vim ~/.bashrc で、ホームディレクトリの.bashrcファイルを編集します。

下リストのように、 function cmdwin() を定義しましょう。

編集した後は、source コマンドで設定を読み込みます。

文字コード変換関数を使ったウィンドウズコマンドの実行方法

実行するときは、ウィンドウズコマンドの前に、cmdwin を付けます。下リストのようにpingの結果の文字化けがなくなりました。

alias(エイリアス=別名)登録による自動化

alias設定による自動化の例を挙げます。

下リストのように、~/.bashrc に alias を作っておけば、ping と実行するだけで、cmdwin ping が実行されます。

変更後は、sourceコマンドをお忘れなく。

まとめ

この記事では、文字コードを変換する関数を.bashrcに書くことにより、Git Bashからウィンドウズコマンドを文字化けせずに実行する方法を紹介しました。

Git Bashはとっても便利ですので、Git を使わないとしても、Git Bashを使うためだけに、Git for Windows を使うのもおすすめです。

Git for Windowsのインストール方法は、記事「WindowsにGitをインストールする手順」に紹介しています。

この記事が気に入ったら
いいね ! しよう