从进程获取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
=========================================================================================
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理