명령줄 인수로 옵션 찾기

명령줄 인수로 옵션 찾기

내 스크립트에 문제가 있습니다. find 명령에 대한 옵션이 첫 번째 명령줄 인수인 스크립트를 작성하려고 합니다.

내 스크립트에는 다음과 같은 것이 있습니다.

find_option=$1

find $find_option

문제는 예를 들어 찾기 옵션의 경우 *.txt출력이 내 디렉터리의 첫 번째 텍스트 파일이지만 그러한 파일을 모두 찾고 싶다는 것입니다.

감사해요

답변1

스크립트에 다음과 같은 패턴을 제공한다고 가정해 보겠습니다.

./myscript '*.txt'

(현재 디렉토리의 이름으로 패턴이 확장되는 것을 방지하려면 따옴표가 필요합니다.) 그런 다음 다음과 같이 스크립트를 작성할 수 있습니다.

#!/bin/sh

name_pattern=$1

find . -name "$name_pattern"

이는 첫 번째 명령줄 인수를 가져와 에 대한 호출에 사용하고 find, 현재 디렉터리와 그 아래에 있는 이름을 지정된 패턴으로 필터링합니다.

여기서는 스크립트를 호출할 때 명령줄에서 변수 확장을 인용해야 하는 것과 같은 이유로 $name_pattern호출 시 변수 확장 도 인용해야 한다는 점에 유의하세요. 즉, 현재 디렉터리의 이름으로 패턴을 확장하는 것을 방지하기 위함입니다.find

관련 정보