以前、msysgit(1.7.0.2) の git bash here で開くシェルを ckw に変更する - タイトルは未定で設定して1.7.4まではこの設定で問題なかったのですが、今日1.7.6にバージョンアップしたら動かなくなってたのでメモしておきます。
何で動かなくなったのか?
Git Bash.vbs
Option Explicit Dim shell : Set shell = CreateObject("WScript.Shell") Dim fso : Set fso = CreateObject("Scripting.FileSystemObject") Dim gitdir : gitdir = Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"\")) Dim bash : bash = fso.BuildPath(gitdir, "bin\sh.exe") Dim temp : temp = fso.GetSpecialFolder(2) ' Temporary folder Dim linkfile : linkfile = fso.BuildPath(temp, fso.GetTempName() & ".lnk") Dim link : Set link = shell.CreateShortCut(linkfile) link.TargetPath = bash link.Arguments = "--login -i" link.WindowStyle = 1 If WScript.Arguments.Length > 0 Then link.WorkingDirectory = WScript.Arguments(0) link.Save Dim app : Set app = CreateObject("Shell.Application") app.ShellExecute linkfile WScript.Sleep 500 fso.DeleteFile linkfile
なるほど、今まではC:\Program Files (x86)\Git配下にあるショートカット「Git Bash.lnk」を起動していましたが動的にショートカットを作成して起動するように変わってますね。
で、どうしたか
マニュアル · deflis/ckw-mod Wiki · GitHubのckwのコマンドライン引数を参考にこうしちゃいました。
Git Bash.vbs
Option Explicit Dim app : Set app = CreateObject("Shell.Application") Dim arg If WScript.Arguments.Length > 0 Then arg = " -cd """ & WScript.Arguments(0) & """" app.ShellExecute "D:\Apps\Tools\ckw\ckw.exe", "-x ""C:\Program Files (x86)\Git\bin\sh.exe --login -i""" & arg WScript.Sleep 500
力業過ぎる気がするけど、個人で使うんだし気にしない気にしない。
もちろん
git bash here で開くシェルを ckw に変更する - ぐるぐる〜を参考にレジストリを弄るのも、旧バージョンのGit Bash.vbsを使用するのもいいですね。