2016-03-15 3 views
1

Я пытаюсь создать alias, в котором будет отображаться весь процесс, отсортированный по имени процесса.Linux: создайте псевдоним, чтобы отсортировать отсортированный процесс по имени процесса

Так что, если я пишу myps processname, он должен возвращать все имена процессов, отсортированные по именам процессов, за исключением самого результата команды grep.

Оба работают отлично

alias myps='ps aux|grep $1' 

или просто

alias myps='ps aux|grep ' 

Но я не могу использовать его, как показано ниже

alias myps='ps aux|grep $1|grep -v grep|sort -k12' 

Я понимаю, что при создании псевдонима, переданная переменная добавляется к последней команде. Ограничение в том, что я не могу изменить файл .env или .profile, и я не могу создать новые сценарии оболочки в своем unix-блоке.

Может ли кто-нибудь предложить любой способ добиться этого путем псевдонимов или чего-то еще?

+0

Вам нужно создать [функции] (http://tldp.org/HOWTO/Bash-Prog-Intro- HOWTO-8.html), а не псевдоним. –

+0

Возможно, вы также захотите прочитать [«Сделать псевдоним bash, который принимает параметр?»] (Http://stackoverflow.com/questions/7131670/make-bash-alias-that-takes-parameter). –

ответ

1

Псевдоним просто расширяется до строки, которую он представляет, на самом деле он не принимает никаких аргументов. Функция, с другой стороны, кажется, именно то, что вы ищете:

[email protected] /tmp $ myps() { ps aux|grep $1|grep -v grep|sort -k12; } 
[email protected] /tmp $ myps bash 
mureinik 10020 0.0 0.0 122552 6344 pts/2 Ss+ Mar13 0:00 bash 
mureinik 11987 0.0 0.0 124068 6588 pts/3 Ss 09:17 0:00 bash 
mureinik 6541 0.0 0.0 122716 6660 pts/0 Ss+ Mar13 0:01 bash 
mureinik 7609 0.0 0.0 122592 6420 pts/1 Ss+ Mar13 0:00 bash 
+0

Спасибо. Позвольте мне попробовать это – Utsav

+0

«grep -v grep» можно избежать с помощью чего-то вроде «grep» [$ {1: 0: 1}] $ {1: 1} ", который также исправляет [цитирование] (http://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-variable). Однако подстрока - это расширение Bash. – tripleee

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