사용자에게 파일을 특정 디렉터리로 이동할 것인지 묻는 스크립트를 작성하려고 합니다. 스크립트는 파일이 대상 디렉토리에 이미 존재하는지 확인해야 하며, 존재하는 경우 이동하려는 파일로 기존 파일을 덮어쓸지 사용자에게 묻습니다.
if 문의 파일 테스트는 어떤 모습이어야 합니까? 현재 나는
if [[ -e /대상 디렉토리]] ;then...
하지만 이것이 올바른 해결책이 아닌 것 같나요?
답변1
당신이 찾고 있는 테스트는 다음과 같습니다:
[[ -f /path/to/file ]]
/path/to/file
파일이 존재하는지 확인하기 위해 테스트 중인 파일의 경로는 어디에 있습니까? 조건을 사용하여 이 테스트를 조건( DEST_DIR
파일의 대상 디렉터리가 대상 디렉터리인 경우)에 넣을 수 있습니다.SRC_FILE
if ! [[ -f DEST_DIR/file ]]; then
mv SRC_FILE DEST_DIR
fi
true가 반환되는 곳은 !
파일의 내용입니다.아니요존재하다. 그렇다면 다음 SRC_FILE
으로 이동합니다 .DEST_DIR
아니요에 이미 존재합니다 DEST_DIR
.
답변2
노력하다:
if [ -e filename ]; then
# something
fi
대괄호 하나만 사용하세요.