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

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

$ 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

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

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

阅读 2.4k
3 个回答

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

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

新手上路,请多包涵

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

usage:

  xxoo hello.log
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题