Вы хотите проверить существование с -f, а затем создать файл.Но что происходит, если между тестом и созданием файла создается другая задача?mktemp
может решить эту проблему:
filename=$( mktemp ./file1-XXXXXXXXXX ) || exit 1
В этом случае создается пустой файл (как при использовании touch
).Часть XXXXXXXXXX
заменяется случайной буквенно-цифровой строкой.Файл anme сохраняется в filename
.При ошибке exit 1
выполняется.