github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmg/SubCommand/selfInstall.go (about) 1 package SubCommand 2 3 import ( 4 "github.com/bronze1man/kmg/kmgCmd" 5 "github.com/bronze1man/kmg/kmgConsole" 6 "github.com/bronze1man/kmg/kmgFile" 7 ) 8 9 func AddSelfInstallCommand() { 10 kmgConsole.AddAction(kmgConsole.Command{ 11 Name: "_SelfInstall", 12 Desc: "install kmg in this computer(should call in install bash)", 13 Runner: selfInstallCmd, 14 Hidden: true, 15 }) 16 } 17 18 //由于bash过度难用,直接安装kmg的时候又会遇到很复杂的情况,此处用于处理某些复杂情况 19 func selfInstallCmd() { 20 //迁移代码,从/bin/kmg迁移到/usr/local/bin/kmg 21 if kmgFile.MustFileExist("/bin/kmg") { 22 kmgCmd.MustRunInBash("sudo rm /bin/kmg;hash -r") 23 } 24 kmgFile.MustEnsureBinPath("/usr/local/bin/kmg") 25 }