Macos 根目录下的临时文件夹?

Macos 根目录下的临时文件夹?

我正在编写一个需要在管理员权限下(在“sudo”下)运行的 MacOS 脚本。脚本需要一个临时文件夹来保存一些临时文件。不幸的是,根目录下没有“TMPDIR”!如果我运行“env”,我会看到 TMPDIR 带有一个很好的临时路径。如果我运行“sudo env”,我看不到 TMPDIR :(。有没有办法在根目录下获得正确的“临时文件夹”路径?

答案1

如果有 $TMPDIR,请使用它。否则请使用 /tmp(Mac 上也应该有)。

答案2

一般来说,您应该使用库提供的函数创建临时文件,并使用提供的文件名和/或句柄。在 Mac 上,带有“-d”选项的 mktemp(1) 命令应该可以满足您的要求。

NAME mktemp——创建临时文件名(唯一)

摘要 mktemp [-dqtu] [-p 目录] [模板]

描述 mktemp 实用程序采用给定的文件名模板并覆盖其中的一部分以创建唯一的文件名。模板可以是任何文件名,并在其后附加一定数量的“X”,例如 /tmp/tfile.XXXXXXXXXX。如果未指定模板,则使用默认值 tmp.XXXXXXXXXX,并且隐含 -t 标志(见下文)。

相关内容