지정된 객체를 제외한 저장소의 모든 객체 삭제

지정된 객체를 제외한 저장소의 모든 객체 삭제

전체 저장소를 복제하지 않고 github에서 객체를 가져오는 프로그램을 작성하려고 합니다. 마지막 줄은 작동하지 않으며 Syntax error: "(" unexpected그 이외의 모든 파일/디렉토리를 삭제해야 합니다.

#!/bin/sh
object=$2 #sets item not to remove as second argument
address=$1 #sets github address (github.com/user/repo)
git clone $1 #clones it
location="${address##*/}" #gets part after last backslash
cd $location #cd's into it

#Syntax error: "(" unexpected
rm -rf !("$object") 

답변1

extglob 구문은 기본적으로 활성화되어 있지 않습니다 bash. 이것이 !(...)구문을 제공하는 것입니다. 필요한 경우 bash를 사용하여 열 수 있도록 먼저 shebang을 변경해야 합니다.

#! /bin/bash

그런 다음 추가하여 extglob을 엽니다.

shopt -s extglob

줄 앞 어딘가

관련 정보