I'm eriting a MacOS script that need to run under admin rights (under 'sudo'). Script needs a temp folder in order to keep some temp files. Unfortunately, there is no 'TMPDIR' under root! If i run 'env' i see TMPDIR with a nice temp path. If i run 'sudo env' i don't see TMPDIR :(. Is it any way to obtain correct "temp folder" path under root?


If there's a $TMPDIR, use it. Otherwise use /tmp (it should exist on Mac too).


In general, you're supposed to create temp files using the library-provided functions and use the filenames and/or handles provided. On mac, the mktemp(1) command with the "-d" option should do what you want.

NAME mktemp -- make temporary filename (unique)

SYNOPSIS mktemp [-dqtu] [-p directory] [template]

DESCRIPTION The mktemp utility takes the given filename template and overwrites a portion of it to create a unique filename. The template may be any file- name with some number of `Xs' appended to it, for example /tmp/tfile.XXXXXXXXXX. If no template is specified a default of tmp.XXXXXXXXXX is used and the -t flag is implied (see below).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.