我在 linux xubuntu 上有一个华为 E220 HSDPA 调制解调器我想接收短信并自动回复给发件人。我使用 gammu 和 Gammu-smsd 来做到这一点。
为了自动发回短信,我将 runOnRecieve = /path/to/bash/file 添加到 /etc/gammu-smsdrc 配置文件中。
这是脚本:
#!/bin/bash
str=$SMS_1_TEXT //string containing text from sender
tlf=$SMS_1_NUMBER //containing number from sender
tlf=${tlf:3}
if test "$str" = "today"; then
echo "[Weather for today in Norway]
Sol, noe overskyet
[Vind fra sørøst]
Ha en fin dag!" | gammu-smsd-inject TEXT $tlf -unicode -autolen 200
else
echo "fail" >> /home/mattis/sms.txt
fi
这就是我启动守护进程的方式
$ sudo gammu-smsd
如果我使用测试输入从终端运行 bash 脚本,则此方法有效,但是当程序 gammu-smsd 调用我得到的脚本时。
gammu-smsd[3183]: Process failed with exit status 2
现在我可以从代码中删除 "gammu-smsd-inject" 并替换为 "gammu sendms" ,但这只会在收到手机时给我乱码而不是 "æøå 和 [ ]"。
希望得到肯定的答复。