免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 615 | 回复: 3

[文本处理] shell脚本判断res: command not found [复制链接]

论坛徽章:
0
发表于 2019-03-13 09:47 |显示全部楼层
#!/bin/bash
DIR='/opt'
cd $DIR
java_array=`ls *.jar`
res=''
for i in $java_array
do

     if [ `ps -ef|grep $i |grep -v grep|wc -l`  -eq 0 ];then
           res = "$res $i进程未启动"
     elif [ `ps -ef|grep $i |grep -v grep|wc -l` -ge 2 ];then
           res = "$res $i启动了多个进程"
     fi
done

if [ ! -n $res ]; then
  echo "$res"
fi
同志们,请教个问题啊,我的shell返回值java.sh

line 10: res: command not found
这个res我是哪里写错了吗?

论坛徽章:
28
ChinaUnix元老
日期:2015-02-02 08:55:392017金鸡报晓
日期:2017-01-10 15:13:29CU十四周年纪念徽章
日期:2018-08-29 22:12:2715-16赛季CBA联赛之深圳
日期:2018-09-20 12:21:09
发表于 2019-03-14 13:29 |显示全部楼层
把等号左右两边的空格删掉试试

论坛徽章:
0
发表于 2019-03-14 16:14 |显示全部楼层
jc检测【win-linux进程命令行中】关键字的并发数2.ps1

  1. # win linux 测试通过。建议保存编码为:bom头 + utf8
  2. #用法:
  3. # [$a = ] [pwsh -f ]  jc检测【win-linux进程命令行中】关键字的并发数2.ps1 -想要检测的关键字  'xxx.jar'
  4. param
  5. (
  6.         [string]$想要检测的关键字 = 'abcd.ps1'
  7. )

  8. if ($PSEdition -eq 'Desktop')
  9. {
  10.         $当前用户下_所有命令的命令行 = (get-wmiobject -query "select * from win32_process").commandline
  11.         #用户权限运行则获得当前用户的。管理员权限运行,则获取所有用户的。
  12. }

  13. if ($PSEdition -eq 'Core')
  14. {
  15.         $当前用户下_所有命令的命令行 = ps -e --format cmd
  16. }
  17. #问:这个脚本谁写的?有问题找谁技术支持?
  18. #答:QQ群号=183173532
  19. #名称=powershell交流群
  20. $检测出的关键字_或_进程并发数 = 0
  21. foreach ($temp001 in $当前用户下_所有命令的命令行)
  22. {
  23.         #不用-match 避免正则
  24.         if ($temp001 -like "*$想要检测的关键字*")
  25.         {
  26.                 $检测出的关键字_或_进程并发数++
  27.         }
  28. }
  29. write-host "检测出的脚本进程并发数:"
  30. return $检测出的关键字_或_进程并发数
复制代码

论坛徽章:
15
2015年迎新春徽章
日期:2015-03-04 09:57:09操作系统版块每日发帖之星
日期:2016-08-10 06:20:00操作系统版块每日发帖之星
日期:2016-07-16 06:20:00操作系统版块每日发帖之星
日期:2016-06-04 06:20:00操作系统版块每日发帖之星
日期:2016-03-14 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2015-12-23 06:20:00操作系统版块每日发帖之星
日期:2015-11-04 06:20:00每日论坛发贴之星
日期:2015-10-21 06:20:00操作系统版块每日发帖之星
日期:2015-10-21 06:20:00操作系统版块每日发帖之星
日期:2015-10-18 06:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:29
发表于 2019-03-15 05:19 |显示全部楼层
本帖最后由 james90404 于 2019-03-15 05:26 编辑

这写的还不是非常的飘逸


#!/bin/bash

DIR=/opt
cd $DIR

IFS=$'\n'
all_cmds=(`ps -ef -o command=`)
num=-1
total=0

for i in *.jar
do
        if [ -f "$i" ] ; then
                while ((++num < ${#all_cmds[@]}))
                do
                        case "${all_cmds[$num]}" in
                                *"$i"*)
                                        ((total++))
                                        ;;
                        esac
                done
                echo "$i 启动了$total个进程"
                ((num = -1, total = 0))
        fi
done
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP