リポジトリ全体を複製せずに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
行の前のどこか