繁体   English   中英

less:过滤掉作为命令行参数传递的模式 + 通过 bash function 跟踪文件

[英]less: filter out pattern passed as command line argument + follow file via bash function

我正在尝试创建一个 bash function,它将使用less来应用模式并使用传递给 function 的参数跟随文件

my_less_function() {
        if [ -z "$1" ]
        then
                # if no arg
                less +F /var/log/my.log
        else
                # else, filter out the arg
                less +$'&!'$1'\nF' /var/log/my.log
        fi
}

我的问题是我无法在 else 块中正确替换 arg

my_less_function MY_VALUE显示Non-match &/MY_VALUE\nF in less

它看起来像是连接参数和\nF ,但\nF应该触发跟随命令而不是被解释为参数的一部分

有任何想法吗?

错误: less +$'&.'$1'\nF' /var/log/my.log


右: less +$'&.'${1}$'\nF' /var/log/my.log

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM