2013-07-29 2 views
1

У меня есть символическая ссылка, указывающая на какую-то программу: git-receive-pack -> git. Я хочу заменить symlink на скрипт bash, а затем вызвать git, как если бы он был вызван из символической ссылки перед заменой. Я попытался назвать его git $*, но он видит первый аргумент как git, а не как git-receive-pack. Как вызвать его правильно?Как заменить имя команды при вызове как скрипт bash?

ответ

3

Я бы оставил только символическую ссылку git-receive-pack, вместо этого создав функцию bash (в ~/.bashrc). Нечто подобное должно сделать трюк:

function git-receive-pack() { 
    ... (do your stuff) 
    command git-receive-pack $* 
} 
+2

Вы можете использовать 'команду ГИТ-Receive-пак', чтобы сохранить ваш' PATH' работать вместо жесткого кодирования '/ USR/bin' тоже. –

+0

Хороший вопрос Карл, исправленный, спасибо :-) – Endrju

+0

Будет ли это работать для неинтерактивных оболочек? Как 'git push [email protected]: repo.git' – Poma

Смежные вопросы