Linux Apache URL에 이미지가 있는지 확인하십시오.

Linux Apache URL에 이미지가 있는지 확인하십시오.

저는 Linux 명령을 사용하여 로컬 서버에 파일이 있는지 확인하는 프로그램을 작성하고 있습니다.

프로그램은 제공된 인수를 사용하여 명령을 실행합니다.

ls *ARG_GOES_HERE* &> /dev/null

그런 다음 상태를 확인하여 파일을 찾을 수 있는지 확인하세요.

문제는 때때로 파일이 이와 같은 직접 경로가 아니라는 것입니다.

/var/www/html/images/myImage.jpg

때때로 이미지 위치는 네트워크 위치를 사용하여 저장됩니다.

http://192.168.1.2/images/myImage.jpg

리눅스 명령에 실패했습니다.

bash를 사용하여 로컬 아파치 위치에 이미지가 있는지 확인할 수 있습니까?

답변1

당신은 그것을 사용할 수 있습니다curl이 명령은 파일이 존재하고 HTTP를 통해 액세스할 수 있는지 확인합니다. 다음과 같은 것이 당신에게 도움이 될 것입니다:

path_to_file=images/myImage.jpg
if curl --head --location --silent --fail "http://192.168.1.2/$path_to_file" > /dev/null
then
    printf "%s exists\n" "$path_to_file"
else
    printf "%s does not exist\n" "$path_to_file"
fi

curl다음 옵션을 사용하세요.

  • --head– HTTP 헤더만 가져오기(본문은 필요하지 않음)
  • --location– HTTP 리디렉션을 따릅니다.
  • --silent– 진행률 표시기 또는 오류 메시지가 표시되지 않습니다.
  • --failcurlHTTP 요청이 실패하면 명령은 오류 상태로 실패합니다. 예를 들어 웹 서버가 404로 응답하면 명령은 curl0(성공) 대신 상태 22(오류)로 종료됩니다.

관련 정보