Нет абсолютно никакой разницы между временным файлом и обычным файлом.
Временный файл является обычным файлом, а обычный файл является «обычным», а не каталогом, специальным файлом устройства, именованным каналом и т. д.
Единственная разница, как вы указываете, заключается в типичном использовании файла. Когда программа или сценарий создает «временный файл», обычно это обычный файл, который используется для хранения временных данных, которые не нужны после завершения жизненного цикла создавшего его процесса. Такие файлы часто создаются в $TMPDIR
.
File: An object that can be written to, or read from, or both. A file has certain attributes, including access permissions and type. File types include regular file, character special file, block special file, FIFO special file, symbolic link, socket, and directory. Other types of files may be supported by the implementation.
Regular file: A file that is a randomly accessible sequence of bytes, with no further structure imposed by the system.
Однако здесь ничего не говорится об определении «временного файла», потому что это не конкретный тип файла (, а способ использования обычных файлов ).
Нет ничего более короткого, чем раскрытие переменной оболочки posix:
if set -q this; or test -z $this
set x $that
else
set x $this
end
или «краткий» вариант
begin; set -q this; or test -z $this; end; and set x $that; or set x $this
(Буду рад оказаться неправым на этот счет)