LoginSignup
2
1

More than 5 years have passed since last update.

Nyagos & GitBash でWindowsでも呼吸できる環境を作る

Posted at

ドーモ、gakkiです。

ほとんどのエンジニアがWindowsでは呼吸ができない事は有名ですが、
それでもWindowsを使わないと行けない人向けの酸素ボンベです。

Nyagos

Github zetamatta/nyagos

Go言語で書かれたLuaで拡張できるシェル

特徴

  • UNIX風
  • Luaで拡張できる
  • Unicodeサポート

UNIX風

  • UNIX系の幾つかのコマンドが使える
  • ヒストリが使える
    • ![ヒストリ番号]で再実行など
  • エイリアスを設定できる
  • ファイル名/コマンド名保管
  • パイプが使える
    • $ pwd | clipとすればカレントディレクトリのパスをクリップボードにコピーできる

Luaで拡張

  • LuaでBashの.bashrcや、スクリプトが記述できる

GitBashのbinにPathを通すとどうなるの?

GitBashで使えるコマンドがそのまま使えるので実質ネイティブなBashになる

Nyagosの設定ファイルでPathを通す

  • ~/.nyagos にこんな感じのを書く (Winのホームディレクトリ配下)
function setSemicoron()
  local p = nyagos.env.PATH
  if p:sub(p:len()) ~= ";" then
    nyagos.env.PATH = p .. ";"
  end
end

function setPath(path)
  setSemicoron()
  local p = nyagos.env.PATH
  if not p:find(path .. ";") then
    nyagos.env.PATH = p .. path .. ";"
  end
end

setPath([[C:\Program Files\Git\usr\bin]])
-- [[]]で囲む文字列はエスケープされる
  • 直接環境変数にPATHを通しても良いがPowerShellとか使うときに邪魔かもしれない

まとめ

  • これだけでかなりネイティブなBashっぽい環境を作ることができる
  • WSLが結構進歩してきたので基本はそっちでよさそう
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1