开头是我发现了相同的问题,但没有一个答案对我有用。
我需要制作一个临时的.json 文件(它必须是 json,因为我稍后会在脚本中使用 jq)。
根据这个问题的答案,我认为它会是以下内容,但他们正在分别创建名为.json
和XXXXXXXX.json
的文件。
STACKS=$(mktemp .json)
STACKS=$(mktemp XXXXXXXX.json)
这将需要在Mac OS和Linux盒子上运行。我无法指定文件的路径,因为它将在本地运行并由具有不同文件结构的 Jenkins 运行。正确的语法是什么?
如果你使用的是openBSDmktemp
STACKS="$(mktemp XXXXXX).json"
然后编写一个trap
以便在脚本完成时删除 TMP:
function cleanup {
if [ -f "$STACKS" ] && [[ "$STACKS" =~ ".json"$ ]]; then
rm -f "$STACKS"
fi
}
trap cleanup EXIT
因此,当脚本完成时(无论如何),如果它是一个文件并且是否以.json
结尾(为了额外的安全性),它将尝试删除$STACKS
。