다음 쉘 스크립트는 무엇을 수행합니까?

다음 쉘 스크립트는 무엇을 수행합니까?
#!/bin/bash
echo " Enter the name of your directory. You should enter the absolute path to the directory if it is not found in the current directory!"
read location
echo $location
filecount=$( find $location –type f –name "*.txt" -size -4K)
echo $filecount

답변1

  • echo " Enter the name of your directory. You should enter the absolute path to the directory if it is not found in the current directory!"-- 텍스트 인쇄
  • read location- 텍스트를 입력하고 변수에 저장하기를 기대합니다.$location
  • echo $location- 변수 인쇄$location
  • filecount=$(...)- 명령의 출력을 변수에 저장$filecount
  • find $location –type f –name "*.txt" -size -4K- 폴더에서 이름이 ".txt"로 끝나고 크기가 있는 파일을 검색합니다 $location(참고: 스크립트에 오류가 있습니다. 소문자여야 합니다).type f-name "*.txt"-size 4-size 4kk
  • echo $filecount- 결과 인쇄

TL;DR은 폴더 경로를 묻고 길이가 4KB인 파일을 찾습니다. 그리고 인쇄해 보세요

변수 이름으로 판단하면 filecount작성자는 아마도 여러 파일을 가져오고 싶어할 것이므로 명령을 다음과 같이 업데이트해야 합니다.

filecount=$(find $location –type f –name "*.txt" -size 4k | wc -l)

그럼 내가 시험에 합격한 걸까?

답변2

위에서 언급한 스크립트는 크기가 4KB 미만이고 파일 이름 접미사가 ​​인 파일의 경로 이름을 찾는 데 사용됩니다 .txt.

$location변수 확장은 따옴표가 없기 때문에 공백 등이 포함된 값은 처리하지 않습니다 . 또한 경로 이름을 단일 문자열로 저장하므로 경로 이름에 공백이나 개행 문자 등이 포함된 경우 경로 이름을 계산하기가 어렵습니다.

또한보십시오:

관련 정보