diff --git a/.changes/v0.11.4.md b/.changes/v0.11.4.md new file mode 100644 index 0000000..35a9563 --- /dev/null +++ b/.changes/v0.11.4.md @@ -0,0 +1,3 @@ +## v0.11.4 - 2026-02-01 +### Changed +* Command.[name].output.file: now appends correctly to the beginning of file in an absolute path diff --git a/CHANGELOG.md b/CHANGELOG.md index cb7d244..bccd07b 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), and is generated by [Changie](https://github.com/miniscruff/changie). +## v0.11.4 - 2026-02-01 +### Changed +* Command.[name].output.file: now appends correctly to the beginning of file in an absolute path + ## v0.11.3 - 2026-01-31 ### Added * Command: saveShellHistory for scriptFile commands over SSH diff --git a/cmd/version.go b/cmd/version.go index a95333f..c7de20c 100755 --- a/cmd/version.go +++ b/cmd/version.go @@ -7,7 +7,7 @@ import ( "github.com/spf13/cobra" ) -const versionStr = "0.11.3" +const versionStr = "0.11.4" var ( versionCmd = &cobra.Command{ diff --git a/pkg/backy/ssh.go b/pkg/backy/ssh.go index 06ff4eb..7fc5119 100755 --- a/pkg/backy/ssh.go +++ b/pkg/backy/ssh.go @@ -10,6 +10,7 @@ import ( "io" "os" "os/user" + "path/filepath" "strconv" "strings" "time" @@ -473,7 +474,13 @@ func (command *Command) RunCmdOnHost(cmdCtxLogger zerolog.Logger, opts *ConfigOp // Set output writers var file *os.File if !IsHostLocal(command.Host) && command.Output.File != "" { - command.Output.File = fmt.Sprintf("%s_%s", command.RemoteHost.Host, command.Output.File) + if filepath.IsAbs(command.Output.File) { + fileName := filepath.Base(command.Output.File) + fileName = fmt.Sprintf("%s_%s", command.RemoteHost.Host, fileName) + command.Output.File = filepath.Join(filepath.Dir(command.Output.File), fileName) + } else { + command.Output.File = fmt.Sprintf("%s_%s", command.RemoteHost.Host, command.Output.File) + } } cmdOutWriters, file, err = makeCmdOutWriters(&cmdOutBuf, command.Output.File)