Remove todos os objetos no repositório, mas o objeto especificado

0

Estou tentando escrever um programa que obterá um objeto do github, sem clonar o repositório inteiro. A última linha não funciona, me dando  um código%. É suposto remover todos os arquivos / diretórios, exceto por isso.

#!/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") 
    
por retep 17.09.2016 / 02:30

1 resposta

0

A sintaxe extglob para bash não está habilitada por padrão, e é isso que lhe dará a sintaxe !(...) . Você terá que ativá-lo, se quiser, mudando primeiro o seu shebang para usar o bash

#! /bin/bash

depois, ativando extglob adicionando

shopt -s extglob

em algum lugar antes dessa linha

    
por 17.09.2016 / 02:37

Tags