2013-07-13 2 views
1

특정 장소에 파일 (사용자가 선택)이 있는지 어떻게 확인합니까? 유닉스에서 파일 존재 여부를 어떻게 확인합니까?

$org

내가 경로

if [ -e $org/$1] 
then 
echo "Do you want to overwrite" 
exit 1 

을 설정하기로 결정 변수가 나는 경우 문 또는 getopts로를 사용하십니까입니까? 경로가 존재하고 경로가 존재하고 디렉토리를 경우 파일을

-d 검사입니다

+1

귀하의 구문이 올바르지 않습니다. '$ org/$ 1'과']'사이에는 공백이 있어야합니다. 올바른 형식은'if [-e $ org/$ 1]'입니다. 내 대답 좀 봐. – Random

답변

2

-f 확인하는 경우

+0

이것은 휴지통 작성을위한 bash 스크립트의 일부입니다. 이 구문은 정확합니까? [-e $ org/$ 1] $ org는 원래 파일이 있던 위치입니다. 나는 사용자가 파일을 복원하려고하고 원래 목적지에 동일한 이름의 파일이있는 경우 사용자에게 '덮어 쓰시겠습니까?'라고 묻고 싶습니다. – Tom

+0

'-f'는 일반 파일 만 탐지한다는 점에 유의할 가치가 있습니다. 장치 파일이나 명명 된 파이프와 같은 특수 파일은 검색하지 않습니다. 죽은 심볼릭 링크와도 일치하지 않습니다. –

2

$org/$1] 사이에 공간이 있어야합니다.

이 시도 :

if [ -e "$org/$1" ]; then 
    echo "Do you want to overwrite" 
fi 

더 많은 정보를 여기에 : http://tldp.org/LDP/abs/html/fto.html

+0

이 답변을 작성할 때 귀하의 질문에 대한 오해가 있다고 생각합니다. 나는 getopts에 익숙하지 않지만 간단한 상황에서는'-e "$ org/$ 1"로 if 문을 잘 사용할 수있다. – Random

관련 문제