두 개의 명령줄 인수를 사용합니다. 첫 번째는 디렉터리 이름이고 두 번째는 파일 크기(바이트)입니다. 쉘 스크립트의 이름을 "listfiles"로 지정하십시오. Ø 쉘 프롬프트에서의 호출은 "$ listfiles /tmp 50"과 같아야 합니다. Ø 먼저, 쉘 스크립트는 두 개의 매개변수만 전달되는지 확인해야 합니다. Ø 그런 다음 쉘 스크립트는 첫 번째 매개변수가 실제로 디렉토리인지 확인해야 합니다. Ø 쉘 스크립트는 읽기 권한이 있는 디렉토리에서 주어진 크기보다 작은 모든 일반 파일을 나열해야 합니다.
답변1
숙제이므로 힌트만 드리겠습니다.
- 스크립트에 전달된 인수는
$1
및$2
(더 많은 인수의 경우)로 사용할 수 있습니다. $#
전달된 매개변수의 개수입니다.- 이 테스트는 디렉토리인지
[ -d "dir" ]
테스트합니다 .dir
find . -type f -size -50
모든 일반 파일을 찾을 수 있습니다현재의.
크기가 50바이트 미만인 디렉터리( ).
간단한 첫 시작:
#!/bin/sh
echo "There are $# arguments passed, the first two are '$1' and '$2'"
나머지 부분은 이 사이트에서 관련 질문과 답변을 읽거나, 명령어를 사용하여 man
사용하고 있는 쉘에 대한 매뉴얼(예: )을 읽으면 읽을 수 있을 것입니다. 또한 이 명령을 사용하여 테스트 및 숫자 비교 방법에 대해 읽을 수도 man bash
있습니다 .bash
help test
-d
find
man find
이는 이 웹사이트의 이슈에 광범위하게 문서화되어 인용되어 있습니다.
또한, 공부하고 있는 과정과 관련된 학습 자료를 모두 참고해야 합니다.
이 질문은 이전 질문과 중복되어 종료될 수 있습니다. 더 궁금한 점이 있으면 질문해주세요.문제를 해결하는 동안 구체적이고 어떤 구체적인 문제가 있는지 설명하세요..
좋은 질문에는 문제에 대한 설명, 사용 중인 코드, 코드 실행 방법, 표시되는 실제 오류 메시지 및/또는 경고 메시지, 코드에서 기대하는 작업이 포함됩니다. 당신은 또한 볼 수 있습니다“어떻게 하면 좋은 질문을 할 수 있나요?”그리고“어떤 유형의 질문을 피해야 합니까?내부에지원 센터.
우리는 당신을 돕고 싶지만 당신을 위해 스크립트를 작성하지는 않습니다.