执行如下命令:
ps aux|grep -n redis-server|grep -v grep
能正常找到redis-server的进程信息。
(注:grep -v grep是为了在结果中排除掉grep自身的进程信息)
但是写成别名:
alias pg="ps aux|grep -n $@|grep -v grep"
,
然后再执行:
pg redis-server
提示如下:
grep: redis-server: No such file or directory
请问是哪里错了?谢谢!
把顺序掉换一下就好了
对于
$@
来讲, 符号后面的都是参数可以看出,
pg abc
执行的结果是即,
grep -v grep
也是$@
代表的一部分,被 bash 解析代入了.