问题来源:
学习SELinux时,查阅/var/log/messages信息的时候提示“Run sealert -l **********************"('*'代表一串字符串)。
因为"sealert -l **********************"过长,所以想通过管道提取该命令串,再执行。
通过命令:
cat /var/log/messages | grep setroubleshoot | tail -n 1 | cut -d '.' -f4 | cut -d ' ' -f3,4,5
成功提取出该命令,但是不知道如何将该STDOUT作命令执行。
解决方案:
通过查阅资料,发现xargs命令可作参数代换。于是想STDOUT仅输出”-l **********************",再结合xargs执行该命令。
命令如下:
cat /var/log/messages | grep setroubleshoot | tail -n 1 | cut -d '.' -f4 | cut -d ' ' -f4,5 | xargs sealert