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