Curl 旋度中的展开变量

Curl 旋度中的展开变量,curl,shell,Curl,Shell,下面的curl语句在我的shell脚本中工作正常 curl -Ld'username=user&password=password&source=oksoft&dmobile='$mnumber'&message=Slave is working OK' http://167.123.129.195/smsclient//api.php 手机号码按预期扩展。但是,当我使用一个变量作为消息参数时,我会得到$myvar输出,而不是扩展的变量 curl -Ld'use

下面的curl语句在我的shell脚本中工作正常

curl -Ld'username=user&password=password&source=oksoft&dmobile='$mnumber'&message=Slave is working OK' http://167.123.129.195/smsclient//api.php
手机号码按预期扩展。但是,当我使用一个变量作为消息参数时,我会得到$myvar输出,而不是扩展的变量

curl -Ld'username=user&password=password&source=oksoft&dmobile='$mnumber'&message="$myvar"' http://167.123.129.195/smsclient//api.php

如何将变量用于消息?

单引号禁止扩展。把报价调高

curl ...'..."'"$myvar"'"...'...

这取决于您正在运行的shell。“$var”将用于csh。
在windows下,您应该使用“%”符号。

$myvar
用单引号括起来,
$mnumber
不是。最里面的引号是双引号并不重要,它是shell用来确定是否应该进行变量扩展的最外面的引号

重写如下(我缩短了URL以使其可读):

请注意
$myvar
前后额外的单引号

curl -Ld'...dmobile='$mnumber'&message="'$myvar'"' http://...