Подтвердить что ты не робот

Как создать псевдоним bash с аргументом?

Обычно я использую ps -elf | grep proceesname, чтобы получить подробное описание процесса с именем processname. Я думаю, что я должен написать слишком много для этого.

Теперь я решил создать псевдоним bash, например

alias lsps='ps -elf | grep $1'

который даст приведенное выше подробное описание только с помощью lsps processname.

Итак, мой вопрос заключается в том, как создать псевдоним bash, который принимает аргумент.

PS: Я знаю, что я могу написать оболочку script для вышеуказанной задачи, но мне было просто интересно, как это сделать с помощью псевдонима bash.

4b9b3361

Ответ 1

Очень просто:

alias lsps='ps -elf | grep'

Аргументы командной строки будут добавлены автоматически в конец псевдонима:

lsps arg1 arg2 arg3 => converted to => ps -elf | grep arg1 arg2 arg3

Это работает только тогда, когда вы хотите добавить аргументы в конец псевдонима.

Если вы хотите получить аргументы псевдонима внутри расширенной командной строки, вы должны использовать функции:

Например:

lsps()
{
    ps -elf | grep "$1" | grep -v grep
}

Функции, а также псевдонимы могут быть сохранены в вашем файле ~/.bashrc) или файл, который входит в него):

$ cat /tmp/.bash_aliases
lsps()
{
    ps -elf | grep "$1" | grep -v grep
}

$ . /tmp/.bash_aliases
$

Ответ 2

Используйте это:

alias lsps='ps -elf | grep'

Затем вы можете сделать это:

lsps processname