#linux #git
#linux #git
Вопрос:
Я хочу добавить подтверждение перед моими псевдонимами Git, например:
amend = !echo -n 'Confirm: ' amp;amp; read 'x' amp;amp; [ $x == 'y' ] amp;amp; git add -A amp;amp; git commit -a --amend
Это работает непосредственно в терминале, но когда я запускаю его как псевдоним Git, я получаю:
echo -n 'Confirm: ' amp;amp; read 'x' amp;amp; [ $x == 'y' ] amp;amp; git add -A amp;amp; git commit -a --amend: 1: [: y: unexpected operator
Как я могу заставить это работать?
Комментарии:
1. Можете ли вы вставить то, что написано в вашем файле конфигурации git для этого псевдонима?
Ответ №1:
Я подозреваю, что псевдонимы git используются sh
по умолчанию. Попробуйте заменить ==
в вашей тестовой команде на =
:
amend = !echo -n 'Confirm: ' amp;amp; read 'x' amp;amp; [ $x = 'y' ] amp;amp; git add -A amp;amp; git commit -a --amend
==
Определяется bash
, но не POSIX.
http://www.gnu.org/software/bash/manual/html_node/Bash-Conditional-Expressions.html