我有一个过滤器,我想选择性地启用它,我想知道如何在 bash 中以干净的方式执行此操作。
FILTER="| sort" # also can be empty
ls $FILTER | cat
此代码不起作用,因为它会调用ls
with |
and sort
作为参数。
我怎样才能正确地做到这一点?请注意,我试图避免创建if
块以使代码易于维护(我的管道链比这个示例复杂得多)
你的想法不起作用,因为发生了变量扩展after语法已被解析。
你可以这样做:
foo_cmd | if [ "$order" = "desc" ] ; then
sort -r
else
sort
fi | if [ "$cut" = "on" ] ; then
cut -f1
else
cat
fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)