bash – 你会如何简化这个命令?

前端之家收集整理的这篇文章主要介绍了bash – 你会如何简化这个命令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很新兴strace / netstat / etc.我正在使用此命令来获取处理我的请求(telnet)的apache进程的跟踪,有没有办法简化它?
sudo strace -o /tmp/strace -f -s4096 -r -p $(netstat -antlp | \ 
    grep $(lsof -p `pidof telnet` | grep TCP | \
    perl -n -e'/localhost:(\d+)/ && print $1') | grep apache2 | \ 
    perl -n -e'/ESTABLISHED (\d+)/ && print $1')

谢谢!

我可以改进马克亨德森的一点点,用$()代替“并用更好的sed删除grep:
sudo strace -o /tmp/strace -f -s4096 -r -p $(netstat -antlp | \
   sed -e "/telnet/s/^.*ESTABLISHED\ \|\/.*$//g")

就个人而言,我认为反引号使其难以阅读;此外,与$()语法不同,它们不会嵌套

猜你在找的Bash相关文章