x분/일보다 오래된 파일을 삭제하는 스크립트가 있습니다.
find $1 -type f -mmin +$2 -exec rm -f {} \; (name is test2.sh)
test2.sh
예를 들어 매개변수를 다른 스크립트 에 전달해야 합니다 .test3.sh
답변1
매개변수 확장이 다음 test2.sh
과 같이 올바르게 인용되었다고 가정합니다.
find "$1" -type f -mmin +"$2" -exec rm -f {} \;
test3.sh
그러면 다음과 같이 호출 될 수 있습니다 .test2.sh
test2.sh "some file name" 5
$1
in은 test2.sh
문자열로 확장 some file name
되고 .$2
5
이는 test2.sh
변수에 나열된 디렉토리에 있다고 가정합니다. 그렇지 않은 경우 전체 경로(절대 또는 상대)를 사용하십시오. 예:PATH
test3.sh
./test2.sh "some file name" 5
test2.sh
또한 처음에 실행 가능하게 만들어졌으며 chmod +x test2.sh
올바른 -라인이 있다고 가정합니다 #!
.
아래 의견에서 명확히 한 후:
스크립트 test3.sh
는 다음을 수행할 수 있습니다(스크립트라고 가정 bash
).
read -p 'Enter directory name: ' dirname
read -p 'Enter number of days: ' days
minutes=$(( days * 60 * 24 ))
./test2.sh "$dirname" "$minutes"
다음 단계는 사용자 입력이 $days
실제 정수이고 $dirname
유효한 디렉터리 이름인지 확인하는 것입니다.
bash
그렇지 않다면 sh
:
printf 'Enter directory name: '
read -r dirname
(etc.)
대부분의 구현에는 find
다음이 포함됩니다 -delete
.
find "$1" -type f -mmin +"$2" -delete