Bash 스크립트 - 파일이 존재하는지 테스트 [닫기]

Bash 스크립트 - 파일이 존재하는지 테스트 [닫기]

제공된 파일이 있는지 확인하고, 없으면 오류 메시지를 생성하는 스크립트를 어떻게 만들 수 있습니까? 다음 코드가 있지만 작동하지 않습니다.

#!/bin/bash
echo "enter file name:"
read source
file= $source
if [ -f "$file" ] && find "$file" | grep -q .
then 
    echo "the file exists."
else
    echo "the file does not exist."
fi

답변1

&& find 문이 무엇을 하고 있는지 잘 모르겠습니다. 다음을 시도해 보세요.

#!/bin/bash
read -p "enter file name: " source
file=$source
if [[ -f "$file" ]]; then 
    echo "the file exists."
else
    echo "the file does not exist."
fi

편집하다

file= $source또한 방금 작동하지 않는 공간이 있다는 것을 알았습니다 . 그럴 필요가있다file=$source

편집 2

파일이 현재 디렉터리에 없을 경우를 대비해 찾기 부분에서 파일을 검색해야 할 것 같은데요? 이 경우 다음과 같이 할 수 있습니다. (이것은 엉성한 스크립트이고 이를 사용해야 할 타당한 이유가 생각나지 않습니다.)

#!/bin/bash
read -p "enter file name: " source
file=$(find / -type f -name "$source" 2> /dev/null | head -n1)
if [[ -f "$file" ]]; then 
    echo "the file exists."
else
    echo "the file does not exist."
fi

관련 정보