跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 求大佬 求问脚本错在哪里? 东拼西凑的脚本 大佬不要笑!
未分類
12 11 月 2020

求大佬 求问脚本错在哪里? 东拼西凑的脚本 大佬不要笑!

王者荣耀 大佬有话说 :

求大佬 求问脚本错在哪里? 东拼西凑的脚本 大佬不要笑!

读取文件日志行数, 如果大于8000 执行一组命令, 如果大于9000 执行另外一组命令,
我执行后,/root/log.txt是空的, 没反应。    直接执行num=`cat /var/log/1.log | wc -l`时可以看到行数的。

求问脚本错在哪里?东拼西凑的脚本大佬不要笑!

#! /bin/sh

proc_num()
{
num=`cat /var/log/1.log | wc -l`
return $num
}

proc_num
number=$?
if [ 8000 -le $number ]
then
echobegin > /root/log.txt
fi

if [ 9000 -le $number ]
then
echo end > /root/log.txt
fi

王者荣耀 大佬有话说 :

苍老实 大佬有话说 : 2020-11-12 15:20
随手写的没有测试,你可以试试

shell当中可以直接写大于号??

那还要那些 lt le gt之类的干啥??

yanaxiao 大佬有话说 :

专业问题要专业回答,楼下来。

tdd 大佬有话说 :

如果是8001 仍然会走8000
第一个判断 你需要判断大于8000且小于9000

Sing1e 大佬有话说 :

#! /bin/sh

proc_num()
{
number =`cat /var/log/1.log | wc -l`
}

proc_num
if [ 8000 -le $number ]
then
echobegin > /root/log.txt
fi

if [ 9000 -le $number ]
then
echo end > /root/log.txt
fi

王者荣耀 大佬有话说 :

tdd 大佬有话说 : 2020-11-12 15:06
如果是8001 仍然会走8000
第一个判断 你需要判断大于8000且小于9000

对 我本来是写的,if [ 9000 -le $number -a $number -lt 10000 ]

但是有问题就缩减了条件, 结果还是不行。

就来问问。

逻辑我知道,大学多少学过,就是语法完全不会了现在。

王者荣耀 大佬有话说 :

Sing1e 大佬有话说 : 2020-11-12 15:08
#! /bin/sh

proc_num()

谢谢 真的好了!

h20 大佬有话说 :

$?是退出值 

苍老实 大佬有话说 :

本帖最后由 苍老实 于 2020-11-12 15:33 编辑

num=`cat /var/log/1.log | wc -l`
if (( $num > "8000" && $num < "9000" ));then
        echo begin > /root/log.txt
elif (( $num > "9000" ));then
        echo end > /root/log.txt
fi

随手写的没有测试,你可以试试

testuserll 大佬有话说 :

return 是返回值,不能超过255,超过255的高位部分被舍去,所以你永远到不了8000

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具