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  }