擅长:python、mysql、java
<p>一种简单的方法是将消息设置为python程序内的bash环境变量,然后在bash脚本中引用该环境。例如,如果python代码使用bash数组语法设置环境变量<code>CURLY_TEXT</code>:</p>
<pre class="lang-py prettyprint-override"><code>import os
props=['Hello, world!', '555-1212', '121-5555']
props_str=" ".join(f'"{p}"' for p in props)
os.environ["CURLY_TEXT"] = f"({props_str})"
os.system("bash /home/pi/Desktop/curltest.sh")
</code></pre>
<p>…然后bash脚本可以引用如下数组元素:</p>
<pre class="lang-sh prettyprint-override"><code>eval declare -a props="${CURLY_TEXT}"
curl -X POST https://messages-sandbox.nexmo.com/v0.1/messages \
-u '5bbb*************2mI' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"from": { "type": "whatsapp", "number": '\"${props[1]}\"' },
"to": { "type": "whatsapp", "number": '\"${props[2]}\"' },
"message": {
"content": {
"type": "text",
"text": '\"${props[0]}\"'
}
}
}'
</code></pre>
<p><strong>NB:</strong>您必须对单引号做一些棘手的事情,因为<code>-d </code>之后的内容被单引号包围:例如,要替换bash数组变量,您需要结束单引号块,添加变量<code>${props[0]}</code>,然后恢复单引号块</p>