从进程获取tomcat安装路径

从进程获取tomcat安装路径

1、变量前后截取

workdir=`ps -ef | grep "catalina.home" | grep -v "grep"`

workdir=${workdir##*catalina.home=}

workdir=${workdir%% *}

echo $workdir

 

2、grep+awk单行拆分转多行再拆分

ps -ef | grep "catalina.home" | grep -v "grep" | awk '{for ( i=1; i<=NF; i++) print $i}' | grep "catalina.home" | awk -F'=' '{print $2}'

 

附:

-sh-3.2# ps -ef | grep "catalina.home" | grep -v "grep"

root     29066     1  0 Apr16 ?        00:00:40 /usr/bin/java -Djava.util.logging.config.file=/usr/apache-tomcat-6.0.43/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/apache-tomcat-6.0.43/endorsed -classpath /usr/apache-tomcat-6.0.43/bin/bootstrap.jar -Dcatalina.base=/usr/apache-tomcat-6.0.43 -Dcatalina.home=/usr/apache-tomcat-6.0.43 -Djava.io.tmpdir=/usr/apache-tomcat-6.0.43/temp org.apache.catalina.startup.Bootstrap start

-sh-3.2# 

 

=========================================================================================

[root@YunSQ9VM977091 updater]# cat /root/tmp2.sh
#!/bin/bash
tmp_config_file="/root/tmp_tomcat_tomcat-users.txt"
ps -ef | grep "catalina.home" | grep -v "grep" | awk '{for ( i=1; i<=NF; i++) print $i"/conf/tomcat-users.xml"}' | grep "catalina.home" | awk -F'=' '{print $2}' > $tmp_config_file

echo "this server's tomcat config dir is:"
cat $tmp_config_file
echo ""
for line in $(cat $tmp_config_file)
do
cat $line | grep username | sed 's/^.*<username>//g' | sed 's/<\/username>.*$//g'
done

=========================================================================================

 

posted @   闻道者  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示