func saveHistory(state *liner.State, historyFileName string) error { user, err := user.Current() if err != nil { return err } path := path.Join(user.HomeDir, historyFileName) // append for multi-sessions handling f, err := os.OpenFile(path, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0600) // os.O_TRUNC if err != nil { return err } defer f.Close() w := bufio.NewWriter(f) _, err = state.WriteHistory(w) if err != nil { return err } err = w.Flush() return err }