github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/subshell/sscommon/sscommon_lin_mac.go (about)

     1  // +build !windows
     2  
     3  package sscommon
     4  
     5  import (
     6  	"strings"
     7  
     8  	"github.com/ActiveState/cli/internal/osutils"
     9  )
    10  
    11  var escaper *osutils.ShellEscape
    12  
    13  func init() {
    14  	escaper = osutils.NewBashEscaper()
    15  }
    16  
    17  // EscapeEnv escapes all values so they can be exported
    18  func EscapeEnv(env map[string]string) map[string]string {
    19  	result := map[string]string{}
    20  	for k, v := range env {
    21  		result[k] = v
    22  		result[k] = escaper.Escape(result[k])
    23  		result[k] = strings.ReplaceAll(result[k], lineBreak, lineBreakChar)
    24  	}
    25  	return result
    26  }