mktemp

"mktemp"를 사용하여 임시 파일을 안전하고 이식 가능하게 만들려면 "X"를 몇 개 사용해야 합니까?
mktemp

"mktemp"를 사용하여 임시 파일을 안전하고 이식 가능하게 만들려면 "X"를 몇 개 사용해야 합니까?

때로는 mktemp6개 이상의 인수가 포함된 명령을 호출하여 쉘 스크립트에서 임시 파일을 생성합니다. 그러나 다른 숫자를 가진 명령을 찾았기 때문에 이 숫자가 다른 구현에 적용되는지 확실하지 않습니다(예:XTEMPLATEmktemp여기,여기, 그리고여기). 나는 몇 가지 조사를 했고 다음과 같은 사실을 발견했습니다. GNU 구현에는 mktemp세 개 이상의 X. OpenBSD의 구현에는 mktemp6 이 필요한 것 같습니다 X. 그러나 나는 거의 알지 못한다.기본 코드하다. FreeBSD 구현 ...

Admin

bash 스크립트 설명 [닫기]
mktemp

bash 스크립트 설명 [닫기]

폐쇄. 이 질문에는세부 사항 또는 명확성. 현재로서는 답변이 허용되지 않습니다. ...

Admin

파일 이름에 pid가 포함된 임시 파일로 생성된 프로세스를 리디렉션합니다.
mktemp

파일 이름에 pid가 포함된 임시 파일로 생성된 프로세스를 리디렉션합니다.

myprogram터미널(bash)을 통해 생성하고 pid 1234(매번 다름)를 얻는다고 가정합니다 . stdout 및 stderr을 이름이 지정된 임시 파일로 리디렉션하고 싶습니다 abc-$PID(PID가 1234인 경우 tempfile 을 사용하십시오 abc-1234. 이제 코드는 다음과 같습니다. myprogram > /tmp/abc-$! 2>&1 그것은 작동하지 않습니다 도와주세요. ...

Admin

다른 스크립트의 임시 파일 수명주기를 처리하기 위해 재사용 가능한 스크립트를 디자인하는 방법
mktemp

다른 스크립트의 임시 파일 수명주기를 처리하기 위해 재사용 가능한 스크립트를 디자인하는 방법

다른("응용 프로그램") 스크립트에 대한 임시 파일을 사용하여 전체 작업 집합을 처리하는 재사용 가능한("유틸리티") 스크립트를 만들어야 합니다. 만들다 생성된 임시 파일을 추적하세요. 이탈(정기적인 사용자 완료 및 중단)을 포착하고 생성된 모든 항목을 삭제합니다. 각 응용 프로그램 스크립트는 사용하는 모든 하위 스크립트에 대해 한 번 호출하는 일부 "기본" 스크립트에 의존하는 대신 유틸리티 스크립트 자체를 "포함"해야 합니다. 핵심 요구 사항은 유틸리티 스크립트를 사용하는 응용 프로그램 스크립트...

Admin

RHEL 8 운영 체제에서 루트가 아닌 사용자로 인해 mkstemp가 실패함
mktemp

RHEL 8 운영 체제에서 루트가 아닌 사용자로 인해 mkstemp가 실패함

mkstemp를 사용하여 tmp 파일을 생성하는 작은 스크립트가 있습니다. 내 스크립트는 루트 사용자를 사용하여 생성되었지만 루트가 아닌 다른 사용자로 로그인하면 스크립트가 실행되지만 권한 거부로 인해 msktemp가 실패합니다. sh: /tmp/tmpFile-khB5hH: 권한이 거부되었습니다. RHEL 7에서도 동일한 작업을 수행했지만 권한 거부 오류가 발생하지 않았습니다. RHEL 8에서 변경되었습니다. RHEL 8이 로그인한 사용자와 유효한 사용자를 확인하는 것 같습니다. RHEL 7.5 ...

Admin

일회용 디렉토리를 구성하는 데 도움이 되는 "mktemp"의 대화형 아날로그가 있습니까?
mktemp

일회용 디렉토리를 구성하는 데 도움이 되는 "mktemp"의 대화형 아날로그가 있습니까?

일부 아카이브의 압축을 직접 풀고(또는 임시 프로젝트를 생성하고) 일부 파일을 볼 수 있는 임시 파일이 필요한 경우가 종종 있습니다. 특정 디렉터리에 소요되는 시간을 미리 예측하는 것은 불가능합니다. 이러한 디렉토리는 일반적으로 지저분한 홈 디렉토리와 /tmp프로젝트 디렉토리입니다. 일반적 qqq으로 와 같은 취약한 비밀번호와 같은 이름을 가지며 한 달이 지나면 설명하기 어려워집니다 1.test 버려진 디렉토리를 관리하여 관심을 잃을 때 자동으로 정리되고 이름을 만들 필요가 없지만 이름을 부여하고 쉽...

Admin

"일반" 권한으로 임시 파일을 만드는 방법은 무엇입니까?
mktemp

"일반" 권한으로 임시 파일을 만드는 방법은 무엇입니까?

빌드 스크립트에서 고유하게 생성된 이름으로 임시 파일을 생성한 다음 여기에 일부 데이터를 쓴 다음 파일 이름을 최종 이름으로 바꾸려고 합니다. ) 원자). 하지만 mktemp다음을 사용하면 새 파일에 매우 엄격한 권한이 부여됩니다. 파일은 u+rw로 생성되고 디렉터리는 umask 제한을 뺀 u+rwx로 생성됩니다. ...파일 이름이 바뀌어도 이러한 권한은 유지됩니다. 그러나 나는 결과 파일이 "일반" 권한을 갖기를 원합니다. 즉, touch쉘 리디렉션으로 생성된 파일과 동일한 권한을 가져야 합니다...

Admin

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

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

이전에는 mktemp가 에서 사용되었습니다 . 오늘은 mktemp가 ? 대신 /tmp파일을 생성하는 것으로 나타났습니다 .$PWD/tmp 제가 의도치 않게 뭔가를 바꾼 걸까요? 이 문제를 해결하기 위한 제안이 있습니까? 노트: 나는 할 수 있다:ls /tmp $ mktemp --version mktemp (GNU coreutils) 8.30 $ echo $TMPDIR $ ...

Admin

makefile에서 mktemp 사용
mktemp

makefile에서 mktemp 사용

임시 파일을 만들고 makefile을 사용하여 일부 텍스트를 파이프하고 싶습니다. Bash에서는 다음과 같이 임시 파일을 만들고 텍스트를 파이프할 수 있습니다. temp_file=$(mktemp) echo "text goes into file" > ${temp_file} cat ${temp_file} rm ${temp_file} 실행 시 출력(예상대로): text goes into file makefile에서 동일한 코드를 사용하면 다음과 같은 결과가 나타납니다. 파일 생성: test...

Admin

POSIX에 mktemp 명령이 없는 이유는 무엇입니까?
mktemp

POSIX에 mktemp 명령이 없는 이유는 무엇입니까?

쉘 스크립트가 수행해야 하는 가장 일반적인 작업 중 하나는 임시 파일을 생성하고 조작하는 것입니다. 이름 충돌을 피하고, 경쟁 조건을 피하고, 파일에 올바른 권한이 있는지 확인해야 하므로 안전하게 수행하는 것은 어렵습니다. (보다GNU Coreutils 매뉴얼그리고이 사소한 징후 블로그 게시물대부분의 Unix 계열 운영 체제는 mktemp이러한 모든 문제를 해결하는 단일 명령을 제공하여 이 문제를 해결합니다. 하지만,이러한 명령의 구문과 의미는 mktemp표준화되지 않았습니다.. 정말 안전하게 임시 ...

Admin

macOS의 mktemp는 $TMPDIR을 지원하지 않습니다.
mktemp

macOS의 mktemp는 $TMPDIR을 지원하지 않습니다.

예전에 이 내용을 알고 있었는데 답변을 하다가 다시 언급되었습니다."디렉토리를 같은 이름의 디렉토리로 이동하는 방법은 무엇입니까?": 환경 변수와 관련하여 macOS의 유틸리티는 mktempLinux 또는 BSD(또는 최소한 OpenBSD)의 동일한 이름의 유틸리티와 다르게 작동합니다 TMPDIR. 임시 파일을 생성하려면현재의목차는 보통 이렇게 말할 수 있어요 tmdfile=$(TMPDIR=. mktemp) 또는 tmpfile=$(TMPDIR=$PWD mktemp) (이 있는 임시 디렉...

Admin

mktemp -u가 "안전하지 않음"으로 간주되는 이유는 무엇입니까?
mktemp

mktemp -u가 "안전하지 않음"으로 간주되는 이유는 무엇입니까?

--help최근에 텍스트 mktemp( man페이지를 사용할 수 없음)를 읽고 다음을 발견했습니다. -u, --dry-run do not create anything; merely print a name (unsafe) 이것이 "안전하지 않은" 이유는 무엇입니까? 이렇게 표시하는 특별한 이유가 있나요? ...

Admin

트랩을 통해 임시 길찾기 삭제
mktemp

트랩을 통해 임시 길찾기 삭제

다음과 같은 스크립트가 있습니다. #!/bin/bash set -e tmpdir=$(mktemp -d) pushd $tmpdir trap 'popd && rm -rf $tmpdir' EXIT # Business logic which may succeed or fail... /bin/false 종료되면 모든 것이 popd정상이지만 임시 디렉토리는 삭제되지 않습니다. 이 함정은 해결되지 않은 것 같은데 $tmpdir어떻게 극복할 수 있을까요? $tmpdir다음을 다시 실행하여 ...

Admin