Это, вероятно, глупая ошибка. Я использую this as a basis for a bash function, чтобы попытаться создать Баш скрипт для this git function:Bash scripting git branch lists
branch() {
if [[ [email protected] == "-r" ]]; then
command for k in `git branch -r | perl -pe 's/^..(.*?)(->.*)?$/\1/'`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r
else
command for k in `git branch | perl -pe s/^..//`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r
fi
}
Когда я пытаюсь источник этого, он на самом деле пытается выполнить команды - и затем дает синтаксическую ошибку из-за этого.
Я могу выполнить команды локально, так что я явно не вижу ничего очевидного в создании моей функции здесь.
В вашей статье еще, что апостроф перед командой мерзавца должен быть обратно клещ: 'к в«git' становится 'к в \ 'git'. – bishop
Изменение @bishop, что приводит к тем же результатам. – enderland
'command' использует команду' command [-pVv] [arg ...] '. Это не то, что даст вам цикл 'for'. Вы хотите запустить команду несколько раз? Если это так, поместите 'command' внутри' for'. В качестве предложения удалите команду и посмотрите, что произойдет. – bishop