Sto cercando di aggiungere una funzione al mio bash_profile
per msysgit:Errore di sintassi = ~ operatore in bash msysgit
function git-unpushed {
brinfo=$(git branch -v | grep git-branch-name)
if [[ $brinfo =~ ("[ahead "([[:digit:]]*)]) ]]
then
echo "(${BASH_REMATCH[2]})"
fi
}
Ma ottengo il seguente errore:
bash: conditional binary operator expected`
bash: syntax error near
=~'
Da quello che Posso trovare, l'operatore "equals tilde" (=~
) valuta come regex in bash.
Perché =~
genera un errore?
UPDATE: Ecco uno screenshot di inserendo manualmente (questo sh.exe è in esecuzione):
non c'è bisogno di citare o mettere regexp parentesi, basta usare per esempio '[[$ line = ~^$]]' –
buona presa, che aspetto hai? e a cosa è '/ bin/sh' un link simbolico? –
@FredrikPihl: Poiché questo è in 'bash_profile', dubito che ci sia uno shebang. – ruakh