Использование условных обозначений в псевдониме Git?

#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