ドーモ、gakkiです。
ほとんどのエンジニアがWindowsでは呼吸ができない事は有名ですが、
それでもWindowsを使わないと行けない人向けの酸素ボンベです。
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が結構進歩してきたので基本はそっちでよさそう