diff --git a/doc/Manual.md b/doc/Manual.md index a16d74a00..7d431937e 100644 --- a/doc/Manual.md +++ b/doc/Manual.md @@ -179,7 +179,8 @@ Either specify them with multiple `--exclude`'s or one `--exclude-file` Patterns use [`filepath.Glob`](https://golang.org/pkg/path/filepath/#Glob) internally, see [`filepath.Match`](https://golang.org/pkg/path/filepath/#Match) for syntax. -Additionally `**` exludes arbitrary subdirectories. +Additionally `**` exludes arbitrary subdirectories. +Environment-variables in exclude-files are expanded with [`os.ExpandEnv`](https://golang.org/pkg/os/#ExpandEnv). # List all snapshots diff --git a/src/cmds/restic/cmd_backup.go b/src/cmds/restic/cmd_backup.go index 11275d00a..b32e7af59 100644 --- a/src/cmds/restic/cmd_backup.go +++ b/src/cmds/restic/cmd_backup.go @@ -6,15 +6,15 @@ import ( "fmt" "os" "path/filepath" - "strings" - "time" - - "golang.org/x/crypto/ssh/terminal" "restic" "restic/backend" "restic/debug" "restic/filter" "restic/repository" + "strings" + "time" + + "golang.org/x/crypto/ssh/terminal" ) type CmdBackup struct { @@ -313,6 +313,7 @@ func (cmd CmdBackup) Execute(args []string) error { for scanner.Scan() { line := scanner.Text() if !strings.HasPrefix(line, "#") { + line = os.ExpandEnv(line) cmd.Excludes = append(cmd.Excludes, line) } }