2011-02-17 5 views
0

J'ai une fonction bash qui ressemble à ceci.Lire une chaîne arbitraire de la console

function gg() { 
    git add . && git commit -v -m "$*" 
} 

Il prend tous les arguments de la console et l'utilise comme message de validation. Le problème est qu'il ne gérera pas les caractères spéciaux comme (), ´, " et ainsi de suite. Existe-t-il un moyen d'échapper les paramètres persistants afin que je puisse utiliser des arguments donnés?

Voici comment utiliser cette fonction.

Gg fixe tous les bugs (fermé 123)

Il exécute cette commande.

git ajouter. & & git commit -m -v "fixe tous les bugs (fermé 123)"

Cet exemple renvoie cette erreur.

-bash: erreur de syntaxe près de jeton inattendu '(»

Répondre

1

Votre erreur ne sort pas de votre script, il vient de bash, qui tente d'interpréter vos caractères spéciaux avant même est transmis dans votre script

gg "Fixed all bugs (closed 123)" 

devrait fonctionner correctement

+0

Ouais, je sais, mais je ne veux pas utiliser le « » – Oleander

+0

@Oleander:.... Il n'y a aucun moyen Arou Le trouver. –

Questions connexes