Как мне создать временный каталог с помощью mktemp в моем текущем рабочем каталоге?
Я создал конвейер, объединяющий несколько программ, к сожалению, эти программы создают огромное количество временных файлов в /tmp
папка и при использовании больших наборов данных мой конвейер падает, потому что /tmp
папка заполняется.
Как экспортировать временные файлы, чтобы они создавались в моем текущем рабочем каталоге, где выполняется конвейер, а не в /tmp
папка?
В настоящее время я пытался экспортировать TMPDIR
Переменная env в уже созданный каталог /work
в моем текущем рабочем каталоге, но временные файлы все еще создаются в /tmp
папка:
export TMPDIR=$(mktemp -d --tmpdir=/work)
<script>
rm -rf $TMPDIR
Программы не имеют возможности устанавливать разные выходные папки для создаваемых временных файлов.
1 ответ
Просто поменяй /work
в work
если каталог work
находится в вашем текущем каталоге. /work
означает, что у вас есть каталог верхнего уровня с именем /work
, Без косой черты это будет относительный каталог.
Я только что проверил этот код на своем компьютере. Файлы не были записаны /tmp
что я заметил:
mkdir work
export TMPDIR=$(mktemp -d --tmpdir=work)
ls work
# tmp.AWA4dTERha
rm -rf $TMPDIR
ls work
# --no output--