Skip to content

Commit 75eab9c

Browse files
Auto create directories when using sys.write
1 parent 6258645 commit 75eab9c

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

pkg/builtin/builtin.go

+8
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,14 @@ func SysWrite(ctx context.Context, env []string, input string) (string, error) {
284284
locker.Lock(params.Filename)
285285
defer locker.Unlock(params.Filename)
286286

287+
dir := filepath.Dir(params.Filename)
288+
if _, err := os.Stat(dir); errors.Is(err, fs.ErrNotExist) {
289+
log.Debugf("Creating dir %s", dir)
290+
if err := os.MkdirAll(dir, 0755); err != nil {
291+
return "", fmt.Errorf("creating dir %s: %w", dir, err)
292+
}
293+
}
294+
287295
data := []byte(params.Content)
288296
log.Debugf("Wrote %d bytes to file %s", len(data), params.Filename)
289297

0 commit comments

Comments
 (0)