【Bash】안전하고 다재다능한 임시 디렉토리 만들기

2185 단어 shellmktemplinuxbash

소개


  • 쉘에서 주로 사용하는 tmp 디렉토리를 만드는 코드는 다음과 같은 개선점이 있다.
  • mkdir /tmp/path 와 같은 직접 명세 때문에 이름이 중복되는 경우가 있습니다.
  • 직접지정으로 인해 보안상 안전하지 않습니다.
  • 이름은 고유해야 하며 프로세스 내에서 사용하기 쉽고 일반적이도록 관련성을 추가해야 합니다.


  • 결과.


  • 먼저 결과적으로 준비한 셸 파일에 다음 내용을 기술한다.

  • #!/bin/bash
    
    basepath=$(basename $0)
    timestamp=$(date +%Y%m%d%H%M%S)
    tmpd=$(mktemp -dt "$basepath.$timestamp.$$")/
    echo $tmpd
    
    # Outputs
    # $TMPDIR/index.sh.20200919152709.XXXX.XXXXX/
    

  • 설명 후 여러 번 실행하여 출력 경로에 이름이 생성되고 겹치지 않는지 확인하면 완료됩니다.

  • mktemp 명령 사용


  • mktemp 명령을 사용하여 디렉토리를 생성할 수 있습니다. 이 명령은 크기가 0인 파일과 디렉토리를 자동으로 생성합니다.
  • mktemp 사용법에 대한 자세한 내용은 Reference을 참조하십시오.


  • 템플릿 옵션 사용


  • mktemp로 생성할 때 이 명령과 관련된 t(템플릿) 옵션을 사용하십시오.
  • 이렇게 하면 디렉터리 이름을 지정하지 않고 자동으로 $TMPDIR에 설정된 경로에 디렉터리가 생성됩니다.
  • ※구성된 tmp 디렉토리를 찾으려면 echo $TMPDIR 를 사용하십시오.
  • ※설정하지 않으면 -p로 직접 지정하거나 /tmp에 저장한다.


  • 이름에 관련 항목 추가


  • 프로그램에서 처리할 때 더 쉽게 사용할 수 있도록 이름과 관련된 모든 것을 추가합니다.
  • 최소한 다음을 추가했습니다.
  • 실행 경로명
  • 타임스탬프(시간)


  • 参考


  • Reference
  • 좋은 웹페이지 즐겨찾기