拆分脚本功能,抽象函数
配置文件
process.cfg
[GROUP_LIST] WEB DB HADOOP YARN [WEB] nginx httpd [DB] mysql postgresql oracle [HADOOP] datanode namenode journalnode [YARN] resourcemanager nodemanager
sed -n ‘/\[GROUP_LIST]/,/\[.*\]/p‘ process.cfg | grep -v "^$" | grep -v "\[.*\]"
使用egrep 优化
sed -n ‘/\[GROUP_LIST]/,/\[.*\]/p‘ process.cfg | egrep -v "(^$|\[.*\])"
封装函数
app_status.sh
#!/bin/bash # # Func: Get Process Status In process.cfg # Define Variables HOME_DIR="/home/roo/Desktop/shell_code/day9" CONFIG_FILE="process.cfg" # 进程本身的pid this_pid=$$ # 获取所有的组 function get_all_group { G_LIST=$(sed -n ‘/\[GROUP_LIST]/,/\[.*\]/p‘ $HOME_DIR/$CONFIG_FILE | egrep -v "(^$|\[.*\])") echo $G_LIST } for g in `get_all_group`;do echo $g done
执行脚本
sh app_status.sh
原文:https://www.cnblogs.com/crazymagic/p/11173162.html