本文整理匯總了Golang中github.com/coreos/rkt/pkg/multicall.MaybeExec函數的典型用法代碼示例。如果您正苦於以下問題:Golang MaybeExec函數的具體用法?Golang MaybeExec怎麽用?Golang MaybeExec使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了MaybeExec函數的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: main
func main() {
multicall.Add("acbuild-script", func() error {
cmd := exec.Command("acbuild", append([]string{"script"}, os.Args[1:]...)...)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
})
// check if acbuild is executed with a multicall command
multicall.MaybeExec()
cmdAcbuild.SetUsageFunc(func(cmd *cobra.Command) error {
tabOut := new(tabwriter.Writer)
tabOut.Init(os.Stdout, 0, 8, 1, '\t', 0)
commandUsageTemplate.Execute(tabOut, cmd)
tabOut.Flush()
return nil
})
// Make help just show the usage
cmdAcbuild.SetHelpTemplate(`{{.UsageString}}`)
err := cmdAcbuild.Execute()
if cmdExitCode == 0 && err != nil {
cmdExitCode = getErrorCode(errCobra)
}
os.Exit(cmdExitCode)
}
示例2: main
func main() {
// rkt (whom we adopt code from) uses this weird architecture where a
// function can be registered under a certain name, and then the said
// function can be invoked in a separate process, by calling the original
// program again with the name under which the said function was registered
// with.
// For instance, if a function is registered with the name "extracttar",
// then the function can be invoked by using os/exec to run
// `acb extracttar`
multicall.MaybeExec()
app := cli.NewApp()
app.Name = name
app.Usage = usage
app.Version = version
app.Commands = []cli.Command{
newCommand, // note that it's new vs init because it conflicts with libcontainer factory's expectations
// that calls os.Args[0] "init"
execCommand,
addCommand,
rmCommand,
renderCommand,
}
if err := app.Run(os.Args); err != nil {
log.Fatal(err)
}
}
示例3: main
func main() {
// check if rkt is executed with a multicall command
multicall.MaybeExec()
cmdRkt.SetUsageFunc(usageFunc)
// Make help just show the usage
cmdRkt.SetHelpTemplate(`{{.UsageString}}`)
cmdRkt.Execute()
os.Exit(cmdExitCode)
}
示例4: main
func main() {
// check if rkt is executed with a multicall command
multicall.MaybeExec()
cmdRkt.SetUsageFunc(usageFunc)
// Make help just show the usage
cmdRkt.SetHelpTemplate(`{{.UsageString}}`)
if err := cmdRkt.Execute(); err != nil && cmdExitCode == 0 {
// err already printed by cobra on stderr
cmdExitCode = 2 // invalid argument
}
os.Exit(cmdExitCode)
}
示例5: main
func main() {
// check if acbuild is executed with a multicall command
multicall.MaybeExec()
cmdAcbuild.SetUsageFunc(func(cmd *cobra.Command) error {
tabOut := new(tabwriter.Writer)
tabOut.Init(os.Stdout, 0, 8, 1, '\t', 0)
commandUsageTemplate.Execute(tabOut, cmd)
tabOut.Flush()
return nil
})
// Make help just show the usage
cmdAcbuild.SetHelpTemplate(`{{.UsageString}}`)
err := cmdAcbuild.Execute()
if cmdExitCode == 0 && err != nil {
cmdExitCode = getErrorCode(errCobra)
}
os.Exit(cmdExitCode)
}