Linux:创建别名以列出按进程名排序的特定进程

时间:2016-03-15 07:09:35

标签: linux shell

我正在尝试创建一个public function category($id=null) { $config = array(); $config["base_url"] = base_url() . "view/category/".$id; $config["total_rows"] = $this->viewmodel->record_count_category_post($data['category']); $config["per_page"] = 6; $config['num_links'] = 10; $this->pagination->initialize($config); $page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0; $config['display_pages'] = FALSE; $data["links"] = $this->pagination->create_links(); } ,它将列出按进程名称排序的所有进程。

因此,如果我写alias,它应该返回按进程名称排序的所有进程名称,不包括grep命令结果本身。

这两项都运作良好

myps processname

或只是

alias myps='ps aux|grep $1'

但我无法像下面那样使用它

alias myps='ps aux|grep '

我知道在创建别名时,会在命令的最后添加传递的变量。 限制是我无法更改alias myps='ps aux|grep $1|grep -v grep|sort -k12' .env文件,我无法在我的unix框中创建新的shell脚本。

有人可以建议通过别名或其他方式实现它吗?

1 个答案:

答案 0 :(得分:1)

别名只是扩展为它所代表的字符串,它并不真正接受任何参数。另一方面,功能似乎正是您正在寻找的功能:

mureinik@computer /tmp $ myps() { ps aux|grep $1|grep -v grep|sort -k12; }
mureinik@computer /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