見出し画像

GitBashがおもしろい

ここ数日、Windows での開発環境を整理しようと思い立って、いろいろいじってます。


Mac、Linux から Windows にやってきました

僕の場合、もともと Mac や Linux でシェルの使い方、プログラミングの仕方(というか開発環境の構築)を覚えたところがあります。

メインのマシンを Windows マシンにして数年経ちますが、ずっと WSL で Ubuntu を立ち上げて開発するのが基本形でした。
つまり、マシンは Windows を使っているけど、実質 Linux の仮想環境で暮らしていたのです。

ということは、引っ越しはしたけど、以前の住み慣れた環境を再現することを前提に暮らしている感じだったんですね。
例えれば、海外に移住したのに、ずっと日本人コミュニティの中で暮らしているようなものです。

凄い余談なんですけど、先日たまたまお会いした方がドイツで数年暮らしていらっしゃったとのことで、その方がおっしゃるには「最初は英語でなんとか必要を満たしていたんですが、あるとき自分に英語禁止令を出して、片言でもいいからドイツ語を話すようにしたら生活が楽しくなった」とのこと。
郷に入っては郷に従え、というのは自分の慣れないことに耐える、敢えて受け入れる、という厳しさもありますが、結果的にその土地のネイティブ文化に仲間入りしちゃったほうが、楽しいよ、解放されるよ、ということを言っているのかもしれません。

先日のそんなやり取りの印象もあり、また、単に自分の今後の仕事にとって必要なので、Linux 仮想環境を離れて、Windows ネイティブでコマンドを使う、プログラムをコンパイルする、Windows から外部サーバへ接続する…という基本的な環境設定を(GWだし)やってみようと思い立ったわけです。

最近の日記で「PowerShell 勉強してるよ」みたいな内容の投稿を何個かしてますが、それもこの取り組みの一環ですね。

今日は PowerShell ではなくて GitBash の話題です。

Windows で最も手軽に使える Bash

Windows でも Bash を使いたいという要望は昔からずっとあって、いろんな方法が提供されています。

少し前だったら、Cygwin プロジェクトや VMWARE のような仮想環境にお世話になるのが「最も近道」だったかもしれませんが(その時代は、前述の通り、僕自身は Mac や Linux を直接使っていて、Windows は避けている部分がありました)、WSL の登場で今や Windows の Store から Ubuntu などの Linux をインストールでき、かつ、Windows のネイティブ環境とうまく共存させることが出来るようになりました。

ちなみに僕は、WSL のリリースを知って Windows の使用に興味を持ち、サブマシンとして購入して使ってみて「おお、これ便利ね!」と感動したのがきっかけで、自宅のメイン環境を Windows に移行する運びになりました。

さて、そんな WSL なんですが、これはあくまで Windows の中の Linux です。そこが最大の特徴であり、だからこそ価値があるのですが、これはつまり、Linux OS の中で開発やファイル操作をしているということです。操作しているファイルが Windows のデスクトップに置いてあるファイルでも、です。

実は、ファイルやディレクトリを作ったり消したり移動したり…といったことを始め、今では文字コードの統一も進んでいるので、テキストの中身を編集したりといった操作の範囲では、WSL 側から行っても、Windows で直接行っても、結果は全く変わりません。

ところが、プログラムをコンパイルしてソフトウェアやシステムを作成していくとなると話は別です。

WSL = Linux 内で開発したものの提供先 Linux であればなにも問題ありません。
でも、WSL で開発したものの提供先が Windows マシンである場合、その提供先マシンで Linux が動作する前提が必要になります。

「WSL で Ubuntu 使うの便利~」というのはあくまでも開発者目線の感覚になりますので、エンジニア経験の無いユーザ=つまるとこと一般ユーザの大部分、もしくは、全員にとってはとんでもなく敷居の高い話なのです。

なので自分の作ったものをユーザのデスクトップ環境で使ってほしかったら、特別な環境構築・運用の必要のないデフォの Windows で動くように作る必要があります。
もしくは「デスクトップで」という要件を諦めて、WEB アプリとしての開発を検討するとか、ですね。でも、今日の投稿はそういうことじゃなくて、Windows で普通に動くものを作るのに GitBash がいいぜ、というシナリオで書いているので、そっちの話題には脱線しません。

もう上に書いちゃいましたが、Windows 環境で動作確認やコンパイルが結局必要な開発をしている・する、&& Bash 使い慣れてるから(PowerShell はおいおい勉強するとして…)とりあえずコーディング始めちゃいたい、という場合、GitBash という選択肢はとっても強力な味方なんだな、というのをこの数日で思い知りました。

GitBash は Bash の皮をかぶったコマンドプロンプトみたなもん

ここから先は

1,793字

¥ 100

この記事が気に入ったらサポートをしてみませんか?