我有一个tomcat服务器我正在尝试获取项目的信息列表。我需要从/ etc / default / tomcat文件中获取结果。但是我的一些服务器是tomcat6,有些是tomcat7,因此硬编码文件名不起作用。
如何在此批处理脚本中动态插入文件名。
#!/bin/bash
echo Server Name: `hostname`
echo CPU: `top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'`
FREE_DATA=`free -m | grep Mem`
CURRENT=`echo $FREE_DATA | cut -f3 -d' '`
TOTAL=`echo $FREE_DATA | cut -f2 -d' '`
echo Internal IP : `ifconfig eth0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`
echo OS Memory: `cat /proc/meminfo | grep MemTotal | awk '{ print $2 }'`
echo Operating System: `uname -mrs`
***echo Tomcat Memory: `cat /etc/default/tomcat6 | grep Xmx | awk '{ print $5}'`***
答案 0 :(得分:3)
您的上一个命令可以简化为单个awk,如下所示:
awk '/Xmx/{print "Tomcat Memory:", $5}' "$tomcatFile"
传递"$tomcatFile"
来自ver6或ver7的任何tomcat文件名。
您可以使用以下命令从同一命令中获取两个tomcat文件的输出:
awk '/Xmx/{print "Tomcat Memory:", $5}' /etc/default/tomcat[67]