검색 파일을 요청하는 스크립트를 만들고 싶다고 가정해 보겠습니다.
그래서,
echo "What file are you searching for?"
read filename
filepath=/test/dir1
file=$filename
for I in file
do
echo "$I"
find "$filepath" "$I"
done
이는 지정된 파일 이름을 지속적으로 검색하는 것으로 나타납니다. 그러나 나는 얻는다찾기: 파일: 해당 파일이나 디렉터리가 없습니다.
답변1
우선 변수 값을 검색할 때 달러 기호가 필요합니다 for I in file
.for I in $file
다음과 같은 방법으로 스크립트를 변경하겠습니다.
echo "What file names are you searching for?"
read files
filepath=/test/dir1
for f in $files
do
echo "$f"
find "$filepath"/"$f"
done
$file
나는 from 할당을 제거 $filenames
하고 사용자가 공백으로 구분된 여러 파일 이름을 입력하도록 의도했다고 가정했습니다.
find
그런 다음 디렉터리 이름과 파일 이름을 단일 슬래시로 구분하여 구성된 경로를 전달했습니다 . 어떤 깊이에서든 이와 같은 이름의 파일을 찾으려면 find "$filepath" -name "$f"
.