如何创建 bash 输出重定向的简写?
我最近运行了很多类似的命令,例如
python foo.py some args 2>&1 | tee foo.log
python bar.py otherarg 2>&1 | tee bar.log
为了节省打字,我想要 2>&1 | 的简写tee
类似
python foo.py some args $tee foo.log
,但是当我说 export tee='2>&1 | tee'
,这给了我这个错误:变量赋值'2>&1'无效(无“=”)
有没有办法创建一个方便的速记(不一定与我上面写的)对于这种输出重定向?
I've been running a lot of similar commands lately, e.g.
python foo.py some args 2>&1 | tee foo.log
python bar.py otherarg 2>&1 | tee bar.log
To save typing, I'd like a shorthand for 2>&1 | tee
like
python foo.py some args $tee foo.log
but when I say export tee='2>&1 | tee'
, this gives me this error: Variable assignment '2>&1' invalid (no "=")
Is there a way to create a convenient shorthand (not necessarily identical to what I've written above) for this kind of output redirection?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不创建一个名为 XXX 的 shell 脚本文件:
python $1.py $* 2>&1 | tee $1.log
或类似的东西...(如果参数有空格,可能需要“$*”,可能想检查是否至少有 1 个参数等)
那么你必须输入:
XXX foo 一些参数
XXX 酒吧其他参数
why not create a shell script file named XXX with:
python $1.py $* 2>&1 | tee $1.log
or something like that ... (may need "$*" if args have spaces, probably want to check that there is at least 1 arg, etc)
then you would have to type:
XXX foo some args
XXX bar otherargs