![지정된 객체를 제외한 저장소의 모든 객체 삭제](https://linux55.com/image/94579/%EC%A7%80%EC%A0%95%EB%90%9C%20%EA%B0%9D%EC%B2%B4%EB%A5%BC%20%EC%A0%9C%EC%99%B8%ED%95%9C%20%EC%A0%80%EC%9E%A5%EC%86%8C%EC%9D%98%20%EB%AA%A8%EB%93%A0%20%EA%B0%9D%EC%B2%B4%20%EC%82%AD%EC%A0%9C.png)
전체 저장소를 복제하지 않고 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
줄 앞 어딘가