将其与我发现相同的问题但我们没有找到适用于我的答案。
我需要创建一个临时.json文件(它需要是json,因为我将在稍后的脚本中使用jq)。
我根据this question的答案认为它会是以下内容,但他们分别创建了名为.json
和XXXXXXXX.json
的文件。
STACKS=$(mktemp .json)
STACKS=$(mktemp XXXXXXXX.json)
这需要在mac OS和linux机器上运行。 我无法指定文件的路径,因为它将在本地和Jenkins运行,它们具有不同的文件结构。什么是正确的语法?
答案 0 :(得分:3)
如果你使用openBSD mktemp
,你可以
STACKS="$(mktemp XXXXXX).json"
然后写一个trap
,以便在脚本完成时删除tmps:
function cleanup {
if [ -f "$STACKS" ] && [[ "$STACKS" =~ ".json"$ ]]; then
rm -f "$STACKS"
fi
}
trap cleanup EXIT
所以当脚本完成(无论如何)时,如果它是一个文件,它会尝试删除$STACKS
,如果它以.json
结尾(为了额外的安全性)。