具有动态文件名的Linux文件的回声结果

时间:2015-06-16 14:57:15

标签: linux bash

我有一个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}'`*** 

1 个答案:

答案 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]