Как я пишу псевдоним для grep-R?

Я заканчиваю тем, что ввел

grep -Rni pattern .

и куча. Как я превращаю это в псевдоним как

alias gr='grep -Rni $@ .'

Выполнение, которое дает:

$ gr pattern
grep: pattern: No such file or directory

Даже при том, что псевдоним выглядит хорошо:

$ type gr
gr is aliased to `grep -R $@ .'

Кажется что $ и. будьте подкачаны, когда это будет на самом деле выполняться.

14
задан numerodix 12 April 2010 в 09:46
поделиться

2 ответа

сделайте функцию вместо псевдонима. Сохраните ее в файле, например mylibrary.sh, и всякий раз, когда вы захотите использовать функцию, обращайтесь к файлу

например mylibrary.sh

myfunction(){
 grep -Rni ...
}

#!/bin/bash
source mylibrary.sh
myfunction 
5
ответ дан 1 December 2019 в 10:02
поделиться

Попробуйте следующее:

$ alias gr='grep -Rnif /dev/stdin . <<<'
$ gr pattern
./path/file:42:    here is the pattern you were looking for

Это также работает:

$ alias gr='grep -Rnif - . <<<'
22
ответ дан 1 December 2019 в 10:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: