Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用动态文件名从Linux文件回显结果_Linux_Bash - Fatal编程技术网

使用动态文件名从Linux文件回显结果

使用动态文件名从Linux文件回显结果,linux,bash,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

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

最后一个命令可以简化为单个awk,如下所示:

awk '/Xmx/{print "Tomcat Memory:", $5}' "$tomcatFile"
传递版本6或版本7中的任何tomcat文件名

您可以使用以下命令从同一命令中的两个tomcat文件获取输出:

awk '/Xmx/{print "Tomcat Memory:", $5}' /etc/default/tomcat[67]

是的,没错@fedorqui
awk'/Xmx/{print“Tomcat内存:$5}'/etc/default/Tomcat[67]
将在同一命令中给出两个文件的输出。