如何在 shell 的 function 中使用管道?

失笑喷饭满案
  • 1
新手上路,请多包涵

查看日志刷新内容我使用的是这个命令

$ tail -f -n 1000  hello.log | grep -v heart

将心跳相关的内容屏蔽掉。

由于这个命令使用得比较多所以我想简化一点。

由于 alias 无法传递参数所以我想使用 function

function tg {
    tail -f -n 1000 "$1" | grep -v "heart"
}

~/.bashrc 中添加这个函数之后重新加载文件

source ~/.bashrc

然后使用这个命令

$ tg hello.log

出现的结果仍然是没有屏蔽心跳的。

请问这里应该如何修改来实现这个功能?或者有别的取别名的方法么?

回复
阅读 230
3 个回答

修改 .bashrc 文件后需要重新加载,要么重新登录,要么 source ~/.bashrc

检查一下grep前面有没有多打一个“Ⅰ”?

ll104567
  • 3
新手上路,请多包涵

echo 'tail -f -n 1000 "$1" | grep -v "heart"' >/usr/local/bin/xxoo
chmod +x /usr/local/bin/xxoo

usage:

  xxoo hello.log
你知道吗?

宣传栏