mktemp는 /tmp 대신 pwd에 파일을 생성합니다.

mktemp는 /tmp 대신 pwd에 파일을 생성합니다.

이전에는 mktemp가 에서 사용되었습니다 . 오늘은 mktemp가 ? 대신 /tmp파일을 생성하는 것으로 나타났습니다 .$PWD/tmp

제가 의도치 않게 뭔가를 바꾼 걸까요? 이 문제를 해결하기 위한 제안이 있습니까?


노트:

나는 할 수 있다:ls /tmp

$ mktemp --version
mktemp (GNU coreutils) 8.30
$ echo $TMPDIR

$

답변1

TEMPLATEGNU Coreutils 구현의 경우 이는 명령줄에 명시적 콘텐츠가 제공되는지 여부에 따라 달라집니다. 매뉴얼 페이지에 따르면:

SYNOPSIS
      mktemp [OPTION]... [TEMPLATE]
If TEMPLATE is not specified, use `tmp.XXXXXXXXXX`, and `--tmpdir` is implied.

(참고 --tmpdir is implied);

   -p DIR, --tmpdir[=DIR]
          interpret TEMPLATE relative to DIR; if DIR is not specified, use $TMPDIR 
          if set, else /tmp.

그래서

$ mktemp foo.XXX
foo.eWT

일반 디렉토리 대신 현재 디렉토리를 사용합니다.

$ mktemp
/tmp/tmp.hrY7qNWWty

기본값은 이것 입니다( 암시적이지만 설정되지 않았기 /tmp때문 입니다).--tmpdir$TMPDIR

관련 정보