다양한 변수 전달

다양한 변수 전달

find 명령에 변수를 설정하는 쉘 스크립트가 있습니다. 매번 변수 문자열을 변경하는 쉘 스크립트를 실행할 수 있어야 합니다. 따라서 파일 마스크는 매번 바뀌지만, 각 변수에 대한 모든 결과는 파일로 출력되어야 합니다.

예:

filemask="key_*"
file=/home/file
find . -maxdepth 1 -iname "$filemask" > $file

다음에 filemask="say_*"쉘 스크립트를 실행할 때 이를 변경해야 합니다.

답변1

스크립트 파일:

#!/bin/bash
filemask=${1:-"key_*"}
file=/home/file
find . -maxdepth 1 -iname "$filemask" >> "$file"

  • 파일 마스크 변수는 명령줄에서 스크립트의 첫 번째 인수로 설정됩니다. 제공되지 않거나 제공되지 않았지만 비어 있는 경우 스크립트는 이를 key_*로 설정합니다.
  • 이 명령의 결과 find는 파일에 추가되며 해당 이름은 $file 변수에 저장됩니다. OTW, 스크립트를 실행할 때마다 마지막 실행 내용을 덮어쓰게 됩니다.

관련 정보