Передача параметра в псевдоним bash - PullRequest
0 голосов
/ 02 февраля 2020

Я не могу создать псевдоним bash, который принимает параметр. Вот что я положил в файл .bashr c:

alias test = 'history | grep "$ 1"

Вот что я ввожу в терминал:

история тестов

Вот что я получаю:

grep: history: Нет такого файла или каталога

Как это исправить?

1 Ответ

1 голос
/ 02 февраля 2020

bash alias не позволяет использовать аргументы (позиционные параметры) напрямую. Вы можете получить аргументы, объявив функцию, а затем присвоив ей псевдоним.

В вашем случае вы можете сделать (в вашем .bashrc):

showhist() {
    [ -z "$1" ] && { printf "usage:  hist <search term>\n"; return 1; }
    history | grep "$1"
    return 0
}

, а затем:

alias hist='showhist'

Тогда просто используйте hist searchterm в командной строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...