Как мне создать временный каталог с помощью 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--
Другие вопросы по тегам