쉘 스크립트를 사용하여 디렉토리의 내용을 가져 오려고합니다.
내 스크립트는 다음과 같습니다
for entry in `ls $search_dir`; do
echo $entry
done
$search_dir
상대 경로는 어디 입니까? 그러나 $search_dir
이름에 공백이있는 많은 파일이 있습니다. 이 경우이 스크립트는 예상대로 실행되지 않습니다.
나는 사용할 수 있다는 것을 알고 for entry in *
있지만 현재 디렉토리에서만 작동합니다.
나는 그 디렉토리로 바꿀 수 있다는 것을 알고 사용했다가 for entry in *
다시 변경하지만 내 특정 상황으로 인해 그렇게 할 수 없습니다.
나는이 개 상대 경로를 $search_dir
하고 $work_dir
, 나는 그들에게 등을 생성 / 그 안에 파일을 삭제, 읽기, 동시에 모두 일해야
이제 어떻게해야합니까?
추신 : 나는 bash를 사용합니다.
for entry in "$search_dir/*"
작동하지 않는지 설명 할 수 있습니까 ? 왜 우리/*
는 따옴표 밖에 두어야 합니까?