zabbix 报警测试报错

一、报错描述

在测试报警媒介时,报错如下:

在这里插入图片描述

main.py脚本是在windows上的pycharm上编写的,在windows上运行没有问题,放在linux服务器上使用python3 main.py 运行也没有问题,但是使用./main.py执行就报错

[root@p0-tkhijbs-broadco-app02 alertscripts]# ./main.py pangbb 测试主题 测试消息
-bash: ./main.py: /bin/python3^M: bad interpreter: No such file or directory

这说明zabbix 也是使用./的形式执行报警脚本的。

二、报错原因

[root@p0-tkhijbs-broadco-app02 alertscripts]# file main.py 
main.py: Python script, ASCII text executable, with CRLF line terminators
[root@p0-tkhijbs-broadco-app02 alertscripts]# cat -v main.py 
#!/bin/python3^M
^M
^M
from send_feishu import config,get_token^M
from send_feishu.check_user_id import check_user_id^M
import requests,json,sys,time^M
^M
^M
oa_num = sys.argv[1]^M
subject = sys.argv[2]^M
context = sys.argv[3]^M

此时发现会在每行行末加多一个^M,Linux不识别,具体可以查看CRLF和LF的区别。

三、解决办法

1.方法1

修改pycharm配置

点击 文件 --> 设置 --> 编辑器 —> 代码样式 --> 行分隔符 改为 “Unix和macOS(\n)”

2.方法2

使用vim 打开文件

末行模式输入
:set ff 或 :set fileformat

得到结果如下:
fileformat=dos(Windows上的文件格式) 或 fileformat=unix(Linux上的文件格式)
修改文件格式为unix
set ff=unix  或者 set fileformat=unix

回车之后没反应,wq保存即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值