为“管道 grep”创建别名

Posted

技术标签:

【中文标题】为“管道 grep”创建别名【英文标题】:Create an alias for "pipe grep" 【发布时间】:2014-09-06 16:51:28 【问题描述】:

我想为| grep创建一个别名

例如,例如会写:

ps -axf G chrome 而不是ps -axf | grep chrome

我在 oh-my-zsh 的别名文件中写了以下内容:

alias -g G= '| grep --color'

但是,这似乎不起作用。

知道为什么吗?

编辑

我写ps -axf G chrome时出现以下错误

error: must set personality to get -x option

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).

G 似乎被解释为 ps 命令的一部分

【问题讨论】:

“似乎不起作用”含糊不清。当您尝试使用别名时究竟会发生什么?同一文件中的其他别名是否正常工作? -g 选项有什么用? 表示全局设置别名。我认为这会有所帮助,但如果我使用它或不使用它,它完全一样 我看到它实际上是为了 Zsh 抱歉。 这是失败的 ps 在没有 grep 的情况下尝试它 【参考方案1】:

我有

alias -g G=' | grep -i '

所以语法看起来不错

所以我可以这样做:-

cat file.txt G fred

你真的在运行 zsh (echo $SHELL)

【讨论】:

echo $SHELL 回馈/usr/bin/zsh【参考方案2】:

您的alias 语句在赋值之间不能有空格:

alias -g G='| grep --color'

【讨论】:

你知道如何在fish-shell中实现吗? @xliiv fish 似乎没有真正的别名,只有函数;所以这可能是不可能的。

以上是关于为“管道 grep”创建别名的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础命令(more 管道 grep find)

多命令顺序执行,dd命令,管道|,grep,通配符

Linux基础命令

为 SQL Server LocalDB 创建永久别名

linux

Git别名中的管道?