将参数发送到shell命令

问题描述 投票:1回答:1

我是linux的新手所以请帮助我。我在连接了GSM调制解调器的Ubuntu 18.04LTS(Srv1)上使用ModemManager。我的任务是在服务器监视器上执行某些触发操作时,zabbix将运行脚本ssh到Srv1并向管理员发送SMS。这是代码:

#!/bin/bash
v1=$1
v2=$2
count=$( cat countmess)
count=$((count+1))
//textt="$v1 have issue $v2"
sshpass -p "12345678" ssh -o StrictHostKeyChecking=no [email protected] sudo mmcli -m 1 --messaging-create-sms="text='$(v1) have issue $(v2)',number='+8412345678'"
sshpass -p "12345678" ssh -o StrictHostKeyChecking=no [email protected] sudo mmcli -s $count --send exit
rm -f countmess
echo "$count" >> countmess
exit

调用:./sms_script.sh abc check sh文件接收2个参数v1作为主机名(abc),v2作为触发器名称(check)。然后它从“countmess”文件中读取计数器变量。这里的问题是命令:

> sudo mmcli -m 1 --messaging-create-sms="text='$(v1) have issue $(v2)',number='+8412345678'"

它返回错误:

错误:无法解析属性字符串:'意外内容(有问题检查,编号= + 8412345678)后值'

请告诉我修复它的方法。对不起,我的英语不好

ubuntu sms gsm
1个回答
0
投票

在你的脚本中调用v1和v2像这样:

sudo mmcli -m 1 --messaging-create-sms="text='$v1 have issue $v2',number='+8412345678'"

© www.soinside.com 2019 - 2024. All rights reserved.