Я добавил следующую строку в файл «~ / .bash_aliases»:
alias svngrep='grep -R $1 ./* --exclude-dir ".svn"'
, но он не работает.
Он выводит (в моем переводе на английский):
svngrep test
grep: test: File or directory not found
Но с полной строкой «grep» она работает отлично.
Любая идея, что не так с моим псевдонимом?
Вам не нужна функция bash (вы можете использовать ее, хотя дело вкуса), просто удалите $1 ./* из вашего примера и назовите его следующим образом:
alias svngrep='grep -R --exclude-dir ".svn"'
svngrep phrase .
или здесь пример, который я использовал в течение нескольких месяцев:
alias rg='rgrep --exclude-dir=.svn --exclude=*.pyc'
rg phrase .
Конечно, вы можете заменить . на любой каталог. Я бы сказал, что использование псевдонимов более интуитивно понятное, псевдоним - это псевдоним, функция может делать все.