크기가 지정된 제한(변수로 선언됨)보다 큰 모든 파일의 경로를 출력해야 합니다.
나는 find 스크립트를 사용하여 이 작업을 수행했습니다.
FILESIZE = "+10M";
find "$1" -maxlimit 1 -size "$FILESIZE" -type f -exec echo "put {}" \;
두 가지 오류가 발생합니다.
/mnt/d/Lab1_z2.sh: line 1: FILESIZE: command not found
find: unknown predicate `-maxlimit'
어떻게 해결하나요?
답변1
첫 번째 오류는 간단합니다.
# wrong:
FILESIZE = "+10M";
# correct:
FILESIZE="+10M"
=
쉘 변수를 할당할 때 기호를 둘러싸는 데 공백을 사용해서는 안 됩니다. 또 다른 질문 - 줄 끝에 세미콜론이 필요하지 않습니다. 아프지는 않지만 필요하지는 않습니다.
두 번째 오류는 실제로 당황스럽습니다. 이 옵션을 어디서 얻었습니까? -maxlimit
에는 옵션이 없습니다 find
. 가능한 모든 키와 옵션에 대해 알아보려면 다음을 수행 man find
하고 계속 읽어보세요.