>백엔드 개발 >파이썬 튜토리얼 >Bash Shell을 사용하여 파일이 존재하는지 확인하는 방법

Bash Shell을 사용하여 파일이 존재하는지 확인하는 방법

高洛峰
高洛峰원래의
2017-01-09 13:48:211344검색

머리말

유닉스 계열 시스템의 Bash 환경에서 파일이 존재하는지 어떻게 확인하는가? 수요가 있기 때문에 물론 해결책도 있습니다. 셸의 테스트 명령을 사용하여 파일 유형을 감지하거나 값이 동일한지 비교하는 데에도 사용할 수 있습니다. 존재합니다.

다음 명령을 사용하여 확인할 수 있습니다.

test -e filename
[ -e filename ]
  
test -f filename
[ -f filename ]

다음 명령은 Shell의 조건식을 사용하여 etc/ 호스트 파일이 존재합니다:

[ -f /etc/hosts ] && echo "Found" || echo "Not found"

이 결합된 명령은 다음을 출력합니다:

Found

더 일반적인 사용법은 if..else..fi 조건판단의 조건식에 테스트 명령어를 넣은 후, 그 안에 다른 분기 로직을 ​​작성하는 것입니다

#!/bin/bash
file="/etc/hosts"
if [ -f "$file" ]
then
 echo "$file found."
else
 echo "$file not found."
fi

파일 속성 감지를 위한 관련 연산자

파일이 존재하고 해당 속성이 있는 경우 다음 연산자는 true를 반환합니다.

-b FILE
  FILE exists and is block special
-c FILE
  FILE exists and is character special
-d FILE
  FILE exists and is a directory
-e FILE
  FILE exists
-f FILE
  FILE exists and is a regular file
-g FILE
  FILE exists and is set-group-ID
-G FILE
  FILE exists and is owned by the effective group ID
-h FILE
  FILE exists and is a symbolic link (same as -L)
-k FILE
  FILE exists and has its sticky bit set
-L FILE
  FILE exists and is a symbolic link (same as -h)
-O FILE
  FILE exists and is owned by the effective user ID
-p FILE
  FILE exists and is a named pipe
-r FILE
  FILE exists and read permission is granted
-s FILE
  FILE exists and has a size greater than zero
-S FILE
  FILE exists and is a socket
-t FD file descriptor FD is opened on a terminal
-u FILE
  FILE exists and its set-user-ID bit is set
-w FILE
  FILE exists and write permission is granted
-x FILE
  FILE exists and execute (or search) permission is granted

위 명령은 man test에서 복사한 것입니다.

위 기호를 사용하는 방법은 완전히 동일합니다:

if [ operator FileName ]
then
  echo "FileName - Found, take some action here"
else
 echo "FileName - Not found, take some action here"
fi

요약

위는 이 글의 전체 내용입니다. 이 글의 내용이 모든 분들의 공부나 업무에 조금이나마 도움이 되기를 바랍니다. 궁금한 점이 있으시면 메시지를 남겨주세요.

Bash Shell을 사용하여 파일 존재 여부를 확인하는 방법에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.